Method: threatListUpdates.fetch

אחזור של העדכונים האחרונים ברשימת האיומים. לקוח יכול לבקש עדכונים עבור כמה רשימות בבת אחת.

בקשת HTTP

POST https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch

בכתובת ה-URL נעשה שימוש בתחביר המרת קידוד של gRPC.

גוף הבקשה

גוף הבקשה מכיל נתונים במבנה הבא:

ייצוג JSON
{
  "client": {
    object (ClientInfo)
  },
  "listUpdateRequests": [
    {
      object (ListUpdateRequest)
    }
  ]
}
שדות
client

object (ClientInfo)

המטא-נתונים של הלקוח.

listUpdateRequests[]

object (ListUpdateRequest)

העדכונים המבוקשים של רשימת האיומים.

גוף התשובה

אם הפעולה בוצעה ללא שגיאות, גוף התשובה מכיל נתונים במבנה הבא:

ייצוג JSON
{
  "listUpdateResponses": [
    {
      object (ListUpdateResponse)
    }
  ],
  "minimumWaitDuration": string
}
שדות
listUpdateResponses[]

object (ListUpdateResponse)

עדכוני הרשימה המבוקשים על ידי הלקוחות. מספר התגובות כאן עשוי להיות נמוך ממספר הבקשות שנשלחו על ידי לקוחות. זה המקרה, לדוגמה, אם לשרת אין עדכונים עבור רשימה מסוימת.

minimumWaitDuration

string (Duration format)

משך הזמן המינימלי שהלקוח צריך להמתין לפני שליחת בקשת עדכון. אם לא מגדירים את השדה הזה, הלקוחות יכולים להתעדכן ברגע שירצו.

משך זמן בשניות עם עד תשע ספרות עשרוניות, המסתיים ב-'s'. דוגמה: "3.5s".

ListUpdateRequest

בקשה אחת לעדכון רשימה.

ייצוג JSON
{
  "threatType": enum (ThreatType),
  "platformType": enum (PlatformType),
  "threatEntryType": enum (ThreatEntryType),
  "state": string,
  "constraints": {
    object (Constraints)
  }
}
שדות
threatType

enum (ThreatType)

סוג האיום שנוצר על ידי הרשומות ברשימה.

platformType

enum (PlatformType)

סוג הפלטפורמה בסיכון שנובעת מהרשומות ברשימה.

threatEntryType

enum (ThreatEntryType)

סוגי הרשומות שמוצגים ברשימה.

state

string (bytes format)

המצב הנוכחי של הלקוח עבור הרשימה המבוקשת (מצב הלקוח המוצפן שהתקבל מהעדכון המוצלח האחרון של הרשימה).

מחרוזת בקידוד base64.

constraints

object (Constraints)

האילוצים שמשויכים לבקשה הזו.

מגבלות

המגבלות שחלות על העדכון הזה.

ייצוג JSON
{
  "maxUpdateEntries": integer,
  "maxDatabaseEntries": integer,
  "region": string,
  "supportedCompressions": [
    enum (CompressionType)
  ],
  "language": string,
  "deviceLocation": string
}
שדות
maxUpdateEntries

integer

הגודל המרבי של מספר הערכים. העדכון לא יכלול יותר רשומות מהערך הזה. הוא צריך להיות חזקה של 2 בין 2**10 ל-2**20. אם הערך הוא אפס, לא מוגדרת מגבלת גודל לעדכון.

maxDatabaseEntries

integer

מגדיר את המספר המקסימלי של הערכים שהלקוח מוכן לכלול במסד הנתונים המקומי עבור הרשימה שצוינה. הוא צריך להיות חזקה של 2 בין 2**10 ל-2**20. אם הערך הוא אפס, לא מוגדרת מגבלה לגודל של מסד הנתונים.

region

string

המערכת מבקשת את הרשימה למיקום גיאוגרפי ספציפי. אם המדיניות לא מוגדרת, השרת עשוי לבחור את הערך הזה בהתאם לכתובת ה-IP של המשתמש. נדרש פורמט ISO 3166-1 alpha-2.

supportedCompressions[]

enum (CompressionType)

סוגי הדחיסה שבהם הלקוח תומך.

language

string

הפונקציה מבקשת את הרשימות לשפה מסוימת. נדרש פורמט ISO 639 alpha-2.

deviceLocation

string

המיקום הפיזי של הלקוח, מבוטא כקוד אזור לפי תקן ISO 31166-1 alpha-2.

CompressionType

הדרכים שבהן אפשר לדחוס קבוצות של רשומות איומים.

טיפוסים בני מנייה (enums)
COMPRESSION_TYPE_UNSPECIFIED לא ידוע.
RAW נתונים גולמיים ולא דחוסים.
RICE נתונים בקידוד אורז-גולומב.

ListUpdateResponse

עדכון לרשימה בודדת.

ייצוג JSON
{
  "threatType": enum (ThreatType),
  "threatEntryType": enum (ThreatEntryType),
  "platformType": enum (PlatformType),
  "responseType": enum (ResponseType),
  "additions": [
    {
      object (ThreatEntrySet)
    }
  ],
  "removals": [
    {
      object (ThreatEntrySet)
    }
  ],
  "newClientState": string,
  "checksum": {
    object (Checksum)
  }
}
שדות
threatType

enum (ThreatType)

סוג האיום שעבורו מוחזרים נתונים.

threatEntryType

enum (ThreatEntryType)

הפורמט של האיומים.

platformType

enum (PlatformType)

סוג הפלטפורמה שעבורה מוחזרים הנתונים.

responseType

enum (ResponseType)

סוג התגובה. זה יכול להצביע על כך שהלקוח נדרש לבצע פעולה כשהוא מתקבל.

additions[]

object (ThreatEntrySet)

קבוצת רשומות להוספה לרשימת סוגי האיומים המקומיים. חוזרים על הפעולה כדי לאפשר שליחת שילוב של נתונים דחוסים ונתונים גולמיים בתגובה אחת.

removals[]

object (ThreatEntrySet)

קבוצת רשומות להסרה מרשימת סוגי האיומים המקומיים. בפועל, השדה הזה ריק או שהוא מכיל רק ThreatEntrySet אחד.

newClientState

string (bytes format)

מצב הלקוח החדש, בפורמט מוצפן. אטומים ללקוחות.

מחרוזת בקידוד base64.

checksum

object (Checksum)

גיבוב SHA256 הצפוי של מצב הלקוח, כלומר, הרשימה הממוינת של כל הגיבובים שנמצאים במסד הנתונים אחרי החלת העדכון שסופק. אם מצב הלקוח לא תואם למצב הצפוי, הלקוח צריך להתעלם מהעדכון הזה ולנסות שוב מאוחר יותר.

ResponseType

סוג התגובה שנשלחה ללקוח.

טיפוסים בני מנייה (enums)
RESPONSE_TYPE_UNSPECIFIED לא ידוע.
PARTIAL_UPDATE עדכונים חלקיים מיושמים במסד הנתונים המקומי הקיים של הלקוח.
FULL_UPDATE עדכונים מלאים מחליפים את כל מסד הנתונים המקומי של הלקוח. המשמעות היא שהלקוח היה לא עדכני בצורה חמורה או שקיים חשד שהלקוח פגום.

ThreatEntrySet

קבוצת איומים שיש להוסיף או להסיר ממסד הנתונים המקומי של לקוח.

ייצוג JSON
{
  "compressionType": enum (CompressionType),
  "rawHashes": {
    object (RawHashes)
  },
  "rawIndices": {
    object (RawIndices)
  },
  "riceHashes": {
    object (RiceDeltaEncoding)
  },
  "riceIndices": {
    object (RiceDeltaEncoding)
  }
}
שדות
compressionType

enum (CompressionType)

סוג הדחיסה עבור הערכים בקבוצה הזו.

rawHashes

object (RawHashes)

הרשומות הגולמיות בפורמט SHA256.

rawIndices

object (RawIndices)

אינדקסים גולמיים להסרה עבור רשימה מקומית.

riceHashes

object (RiceDeltaEncoding)

הקידומות המקודדות של 4 בייט לרשומות בפורמט SHA256, באמצעות קידוד Golomb-Rice. הגיבובים עוברים המרה ל-uint32, ממוינים בסדר עולה ולאחר מכן מקודדים כדלתא ומאוחסנים כ-codingData.

riceIndices

object (RiceDeltaEncoding)

רשימת האינדקסים המקומיים הממוינים באופן לקסיקוגרפי, בקידוד גולומב-אורז. משמש לשליחת אינדקסים להסרה דחוסים. סמני ההסרה (uint32) ממוינים בסדר עולה, ולאחר מכן דלתא מקודדת ומאוחסנת כ-encodeData.

RawHashes

רשומות האיומים הלא דחוסות בפורמט גיבוב (hash) באורך קידומת מסוים. גודל הגיבוב יכול להיות בין 4 ל-32 בייטים. רובם הם באורך של 4 בייטים, אבל חלק מגיבובים (hash) עשויים לתארך אם הם מתנגשים עם הגיבוב של כתובת URL פופולרית.

משמש לשליחת ThreatEntrySet ללקוחות שלא תומכים בדחיסה, או בעת שליחת גיבובים שאינם בגודל 4 בייטים ללקוחות שתומכים בדחיסה.

ייצוג JSON
{
  "prefixSize": integer,
  "rawHashes": string
}
שדות
prefixSize

integer

מספר הבייטים לכל קידומת שמקודדת למטה. השדה הזה יכול להיות בין 4 (הקידומת הקצרה ביותר) ל-32 (גיבוב SHA256 מלא).

rawHashes

string (bytes format)

הגיבובים, בפורמט בינארי, משורשרים למחרוזת ארוכה אחת. הגיבובים ממוינים בסדר לקסיקוגרפי. למשתמשי JSON API, הגיבובים הם בקידוד base64.

מחרוזת בקידוד base64.

RawIndices

קבוצת מדדים גולמיים להסרה מרשימה מקומית.

ייצוג JSON
{
  "indices": [
    integer
  ]
}
שדות
indices[]

integer

האינדקסים שיש להסיר מרשימה מקומית שממוינת מבחינה לקסיקוגרפית.

RiceDeltaEncoding

הנתונים המקודדים של Rice-Golomb. משמש לשליחת גיבובים (hash) בגודל 4 בייטים דחוסים או אינדקסים של הסרה דחוסה.

ייצוג JSON
{
  "firstValue": string,
  "riceParameter": integer,
  "numEntries": integer,
  "encodedData": string
}
שדות
firstValue

string (int64 format)

ההיסט של הערך הראשון בנתונים המקודדים, או, אם קודד מספר שלם אחד בלבד, הערך של אותו מספר שלם יחיד. אם השדה ריק או חסר, מניחים אפס.

riceParameter

integer

הפרמטר Golomb-Rice, שהוא מספר בין 2 ל-28. השדה הזה חסר (כלומר, אפס) אם הערך של numEntries הוא אפס.

numEntries

integer

מספר הערכים המקודדים כדלתא בנתונים המקודדים. אם קודדו מספר שלם אחד בלבד, הוא יהיה אפס והערך היחיד יאוחסן ב-firstValue.

encodedData

string (bytes format)

הדלתא המקודדת המקודדת באמצעות המקודד גולומב-אורז.

מחרוזת בקידוד base64.

סכום כולל

המצב הצפוי של מסד הנתונים המקומי של לקוח.

ייצוג JSON
{
  "sha256": string
}
שדות
sha256

string (bytes format)

גיבוב SHA256 של מצב הלקוח, כלומר, של הרשימה הממוינת של כל הגיבובים שנמצאים במסד הנתונים.

מחרוזת בקידוד base64.