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

maxDatabaseEntries

integer

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

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)

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

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 बाइट के होते हैं. हालांकि, कुछ हैश का साइज़ किसी लोकप्रिय यूआरएल के हैश से टकराने पर, वे लंबे हो जाते हैं.

इसका इस्तेमाल, कंप्रेशन की सुविधा न देने वाले या कंप्रेशन की सुविधा देने वाले क्लाइंट को नॉन-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)

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

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

चेकसम

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

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

string (bytes format)

क्लाइंट स्टेट का SHA256 हैश; यानी, डेटाबेस में मौजूद सभी हैश की क्रम से लगाई गई सूची का हैश.

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