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

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

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

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

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

טיפוסים בני מנייה (enum)
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, ממוינים בסדר עולה, ולאחר מכן מקודדים ונשמרים כ-codeData.

riceIndices

object (RiceDeltaEncoding)

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

RawHashes

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

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

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

integer

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

rawHashes

string (bytes format)

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

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

RawIndices

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

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

integer

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

RiceDeltaEncoding

הנתונים בקידוד Rice-Golomb. משמשת לשליחת גיבובים דחוסים בגודל 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)

השינויים המקודדים שמקודדים באמצעות קודר Golomb-Rice.

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

סכום כולל

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

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

string (bytes format)

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

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