Method: threatListUpdates.fetch

खतरे की सूची के सबसे हाल के अपडेट फ़ेच करता है. कोई क्लाइंट एक साथ कई सूचियों के अपडेट का अनुरोध कर सकता है.

एचटीटीपी अनुरोध

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

यूआरएल, gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल करता है.

अनुरोध का मुख्य भाग

अनुरोध के मुख्य हिस्से में इस तरह का डेटा शामिल होता है:

जेएसओएन के काेड में दिखाना
{
  "client": {
    object (ClientInfo)
  },
  "listUpdateRequests": [
    {
      object (ListUpdateRequest)
    }
  ]
}
फ़ील्ड
client

object (ClientInfo)

क्लाइंट मेटाडेटा.

listUpdateRequests[]

object (ListUpdateRequest)

अनुरोध किए गए खतरे की सूची अपडेट हो जाती है.

जवाब का मुख्य भाग

अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.

जेएसओएन के काेड में दिखाना
{
  "listUpdateResponses": [
    {
      object (ListUpdateResponse)
    }
  ],
  "minimumWaitDuration": string
}
फ़ील्ड
listUpdateResponses[]

object (ListUpdateResponse)

क्लाइंट के अनुरोध पर सूची को अपडेट किया जाता है. यहां जवाबों की संख्या, क्लाइंट के भेजे गए अनुरोधों की संख्या से कम हो सकती है. उदाहरण के लिए, सर्वर के पास किसी खास सूची के लिए कोई अपडेट नहीं होने पर, ऐसा होता है.

minimumWaitDuration

string (Duration format)

वह कम से कम अवधि जो क्लाइंट को अपडेट का कोई अनुरोध करने से पहले इंतज़ार करना चाहिए. अगर यह फ़ील्ड सेट नहीं है, तो क्लाइंट जल्द से जल्द अपडेट कर सकते हैं.

सेकंड में नौ भिन्नात्मक अंकों वाली अवधि, जिसे 's' के ज़रिए खत्म किया जाता है. उदाहरण: "3.5s".

ListUpdateRequest

सूची को अपडेट करने के लिए एक बार अनुरोध.

जेएसओएन के काेड में दिखाना
{
  "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)

इस अनुरोध से जुड़ी पाबंदियां.

कंस्ट्रेंट

इस अपडेट की शर्तें.

जेएसओएन के काेड में दिखाना
{
  "maxUpdateEntries": integer,
  "maxDatabaseEntries": integer,
  "region": string,
  "supportedCompressions": [
    enum (CompressionType)
  ],
  "language": string,
  "deviceLocation": string
}
फ़ील्ड
maxUpdateEntries

integer

एंट्री की ज़्यादा से ज़्यादा संख्या. अपडेट में इस वैल्यू से ज़्यादा एंट्री नहीं होंगी. इसकी पावर 2**10 और 2**20 के बीच होनी चाहिए. अगर वैल्यू शून्य है, तो अपडेट के साइज़ की कोई सीमा सेट नहीं की गई है.

maxDatabaseEntries

integer

यह नीति, ऐसी एंट्री की ज़्यादा से ज़्यादा संख्या सेट करती है जो क्लाइंट किसी खास सूची के लिए लोकल डेटाबेस में रख सकता है. इसकी पावर 2**10 और 2**20 के बीच होनी चाहिए. अगर यह संख्या शून्य है, तो डेटाबेस के साइज़ की कोई सीमा सेट नहीं की गई है.

region

string

किसी खास भौगोलिक जगह के लिए सूची का अनुरोध करता है. अगर सेट नहीं किया जाता है, तो सर्वर उपयोगकर्ता के आईपी पते के आधार पर उस वैल्यू को चुन सकता है. ISO 3166-1 alpha-2 फ़ॉर्मैट होना ज़रूरी है.

supportedCompressions[]

enum (CompressionType)

क्लाइंट के साथ काम करने वाले कंप्रेशन टाइप.

language

string

किसी खास भाषा के लिए सूचियों का अनुरोध करता है. ISO 639 alpha-2 फ़ॉर्मैट ज़रूरी.

deviceLocation

string

क्लाइंट की जगह की जानकारी, जिसे ISO 31166-1 ऐल्फ़ा-2 रीजन कोड के तौर पर दिखाया जाता है.

CompressionType

वे तरीके जिनसे खतरे के एंट्री सेट को कंप्रेस किया जा सकता है.

Enums
COMPRESSION_TYPE_UNSPECIFIED अज्ञात.
RAW रॉ, बिना कंप्रेस किया गया डेटा.
RICE Rice-Golomb का एन्कोड किया गया डेटा.

ListUpdateResponse

हर सूची के लिए अपडेट.

जेएसओएन के काेड में दिखाना
{
  "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)

स्थानीय खतरे के टाइप की सूची से हटाने के लिए एंट्री का सेट. व्यावहारिक तौर पर, यह फ़ील्ड खाली है या इसमें सिर्फ़ एक ख़तरनाक सेट है.

newClientState

string (bytes format)

एन्क्रिप्ट (सुरक्षित) किए गए फ़ॉर्मैट में, क्लाइंट की नई स्थिति. क्लाइंट के लिए ओपेक.

Base64 कोड में बदली गई स्ट्रिंग.

checksum

object (Checksum)

क्लाइंट की स्थिति के लिए सही SHA256 हैश. इसका मतलब है कि दिए गए अपडेट को लागू करने के बाद, डेटाबेस में मौजूद सभी हैश की क्रम से लगाई गई सूची की सूची का हैश किया जाना. अगर क्लाइंट की स्थिति, सही स्थिति से मैच नहीं होती, तो क्लाइंट को इस अपडेट को अनदेखा करना होगा और बाद में कोशिश करनी होगी.

ResponseType

क्लाइंट को भेजा गया जवाब किस तरह का है.

Enums
RESPONSE_TYPE_UNSPECIFIED अज्ञात.
PARTIAL_UPDATE कुछ हद तक अपडेट, क्लाइंट के मौजूदा लोकल डेटाबेस पर लागू होते हैं.
FULL_UPDATE सभी अपडेट क्लाइंट के पूरे लोकल डेटाबेस की जगह ले लेते हैं. इसका मतलब है कि या तो क्लाइंट का समय बहुत पुराना था या क्लाइंट को खराब माना जाता है.

ThreatEntrySet

खतरों का एक ऐसा सेट जिसे क्लाइंट के लोकल डेटाबेस में जोड़ा या हटाया जाना चाहिए.

जेएसओएन के काेड में दिखाना
{
  "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)

SHA256 फ़ॉर्मैट वाली एंट्री के कोड में बदले गए 4-बाइट वाले प्रीफ़िक्स, जिसमें Golomb-Rice को कोड में बदलने का इस्तेमाल किया गया है. हैश को uint32 में बदल दिया जाता है और उन्हें बढ़ते क्रम में रखा जाता है. इसके बाद, डेल्टा को कोड में बदलकर, कोड में किए गए डेटा के तौर पर सेव किया जाता है.

riceIndices

object (RiceDeltaEncoding)

कोड में बदली गई लोकल, लेक्सिकोग्राफ़िक तरीके से क्रम में लगाई गई सूची के इंडेक्स. इसमें गोलोम्ब-राइस एन्कोडिंग का इस्तेमाल किया गया है. इसका इस्तेमाल, कंप्रेस किए गए हटाने वाले इंडेक्स भेजने के लिए किया जाता है. यूआरएल हटाने के इंडेक्स (uint32) को बढ़ते हुए क्रम में लगाया जाता है. इसके बाद, डेल्टा को कोड में बदलकर, कोड में बदले गए डेटा के तौर पर सेव किया जाता है.

RawHashes

किसी खास प्रीफ़िक्स की लंबाई के हैश फ़ॉर्मैट में, खतरे की बिना कंप्रेस की एंट्री. हैश का साइज़ 4 से 32 बाइट तक हो सकता है. ज़्यादातर हैश 4 बाइट के होते हैं. हालांकि, अगर कुछ हैश किसी लोकप्रिय यूआरएल के हैश से टकराते हैं, तो वे लंबे हो जाते हैं.

इसका इस्तेमाल, उन क्लाइंट को ChromebookEntrySet भेजने के लिए किया जाता है जो कंप्रेस करने की सुविधा का इस्तेमाल नहीं करते हैं या जब कंप्रेस करने की सुविधा वाले क्लाइंट को नॉन-4-बाइट वाले हैश भेजे जाते हैं.

जेएसओएन के काेड में दिखाना
{
  "prefixSize": integer,
  "rawHashes": string
}
फ़ील्ड
prefixSize

integer

नीचे एन्कोड किए गए हर प्रीफ़िक्स के लिए बाइट की संख्या. यह फ़ील्ड 4 (सबसे छोटा प्रीफ़िक्स) से लेकर 32 (फ़ुल SHA256 हैश) तक कुछ भी हो सकता है.

rawHashes

string (bytes format)

बाइनरी फ़ॉर्मैट में, हैश को एक लंबी स्ट्रिंग में जोड़कर. हैश, लेक्सिकोग्राफ़िक क्रम में लगाए जाते हैं. JSON API का इस्तेमाल करने वाले लोगों के लिए, हैश को base64 कोड में बदला गया होता है.

Base64 कोड में बदली गई स्ट्रिंग.

RawIndices

स्थानीय सूची से हटाने के लिए, रॉ इंडेक्स का सेट.

जेएसओएन के काेड में दिखाना
{
  "indices": [
    integer
  ]
}
फ़ील्ड
indices[]

integer

शब्दकोश के हिसाब से क्रम में लगाई गई स्थानीय सूची में से हटाए जाने वाले इंडेक्स.

RiceDeltaEncoding

Rice-Golomb एन्कोड किया गया डेटा. इसका इस्तेमाल, कंप्रेस किए गए 4-बाइट हैश या हटाए गए इंडेक्स को भेजने के लिए किया जाता है.

जेएसओएन के काेड में दिखाना
{
  "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 कोड में बदली गई स्ट्रिंग.

चेकसम

क्लाइंट के लोकल डेटाबेस की अनुमानित स्थिति.

जेएसओएन के काेड में दिखाना
{
  "sha256": string
}
फ़ील्ड
sha256

string (bytes format)

क्लाइंट की स्थिति का SHA256 हैश. इसका मतलब है कि डेटाबेस में मौजूद हैश की क्रम से लगाई गई सूची की सूची.

Base64 कोड में बदली गई स्ट्रिंग.