Method: threatListUpdates.fetch

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

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

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

यह यूआरएल 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

किसी खास भौगोलिक जगह की जानकारी का अनुरोध करता है. अगर इस नीति को सेट नहीं किया जाता है, तो सर्वर उपयोगकर्ता के आईपी पते के आधार पर वह वैल्यू चुन सकता है. 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 चावल-गोलोंब एन्कोड किया गया डेटा.

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)

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

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)

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

riceIndices

object (RiceDeltaEncoding)

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

RawHashes

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

इसका इस्तेमाल, उन क्लाइंट को PreferenceEntrySet भेजने के लिए किया जाता है जो कंप्रेशन की सुविधा नहीं देते. इसके अलावा, इसका इस्तेमाल कंप्रेशन की सुविधा देने वाले क्लाइंट को नॉन-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

राइस-गोलोम कोड में बदला गया डेटा. इसका इस्तेमाल, कंप्रेस किए गए 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 कोड में बदली गई स्ट्रिंग.