Method: threatListUpdates.fetch

En son tehdit listesi güncellemelerini getirir. Bir istemci tek seferde birden fazla liste için güncelleme isteğinde bulunabilir.

HTTP isteği

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

URL, gRPC Kod Dönüştürme söz dizimini kullanır.

İstek içeriği

İstek gövdesi, aşağıdaki yapıyla birlikte veriler içerir:

JSON gösterimi
{
  "client": {
    object (ClientInfo)
  },
  "listUpdateRequests": [
    {
      object (ListUpdateRequest)
    }
  ]
}
Alanlar
client

object (ClientInfo)

İstemci meta verileri.

listUpdateRequests[]

object (ListUpdateRequest)

İstenen tehdit listesi güncellenir.

Yanıt gövdesi

Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:

JSON gösterimi
{
  "listUpdateResponses": [
    {
      object (ListUpdateResponse)
    }
  ],
  "minimumWaitDuration": string
}
Alanlar
listUpdateResponses[]

object (ListUpdateResponse)

İstemciler tarafından istenen liste güncellemeleri. Buradaki yanıt sayısı, istemciler tarafından gönderilen istek sayısından az olabilir. Örneğin, sunucuda belirli bir liste için hiç güncelleme yoksa bu durum söz konusudur.

minimumWaitDuration

string (Duration format)

İstemcinin herhangi bir güncelleme isteği göndermeden önce beklemesi gereken minimum süredir. Bu alan ayarlanmazsa müşteriler istedikleri anda güncelleme yapabilir.

En fazla dokuz kesir basamağı içeren ve "s" ile sonlandırılan saniye cinsinden bir süre. Örnek: "3.5s".

ListUpdateRequest

Tek bir liste güncelleme isteği.

JSON gösterimi
{
  "threatType": enum (ThreatType),
  "platformType": enum (PlatformType),
  "threatEntryType": enum (ThreatEntryType),
  "state": string,
  "constraints": {
    object (Constraints)
  }
}
Alanlar
threatType

enum (ThreatType)

Listede bulunan girişlerin oluşturduğu tehdit türü.

platformType

enum (PlatformType)

Listedeki girişlere göre risk altındaki platform türü.

threatEntryType

enum (ThreatEntryType)

Listede bulunan giriş türleri.

state

string (bytes format)

İstenen liste için istemcinin mevcut durumu (son başarılı liste güncellemesinde alınan şifrelenmiş istemci durumu).

Base64 olarak kodlanmış bir dize.

constraints

object (Constraints)

Bu istekle ilişkili kısıtlamalar.

Sınırlamalar

Bu güncellemeye ilişkin kısıtlamalar.

JSON gösterimi
{
  "maxUpdateEntries": integer,
  "maxDatabaseEntries": integer,
  "region": string,
  "supportedCompressions": [
    enum (CompressionType)
  ],
  "language": string,
  "deviceLocation": string
}
Alanlar
maxUpdateEntries

integer

Giriş sayısı olarak maksimum boyuttur. Güncelleme bu değerden daha fazla giriş içermeyecek. 2**10 ile 2**20 arasında 2'nin üssü olmalıdır. Değer sıfırsa güncelleme boyutu sınırı ayarlanmaz.

maxDatabaseEntries

integer

İstemcinin, belirtilen liste için yerel veritabanında sahip olmak istediği maksimum giriş sayısını belirler. 2**10 ile 2**20 arasında 2'nin üssü olmalıdır. Değer sıfırsa herhangi bir veritabanı boyut sınırı ayarlanmaz.

region

string

Listeyi belirli bir coğrafi konum için ister. Politika ayarlanmazsa sunucu bu değeri kullanıcının IP adresine dayanarak seçebilir. ISO 3166-1 alfa-2 biçimi gerekir.

supportedCompressions[]

enum (CompressionType)

İstemci tarafından desteklenen sıkıştırma türleri.

language

string

Belirli bir dile ait listeleri ister. ISO 639 alfa-2 biçimi gerekir.

deviceLocation

string

Bir istemcinin fiziksel konumu (ISO 31166-1 alfa-2 bölge kodu olarak ifade edilir).

CompressionType

Tehdit girişi gruplarının sıkıştırılma yöntemleri.

Sıralamalar
COMPRESSION_TYPE_UNSPECIFIED Bilinmiyor.
RAW Ham ve sıkıştırılmamış veriler.
RICE Rice-Golomb kodlamalı veriler.

ListUpdateResponse

Tek bir listede güncelleme.

JSON gösterimi
{
  "threatType": enum (ThreatType),
  "threatEntryType": enum (ThreatEntryType),
  "platformType": enum (PlatformType),
  "responseType": enum (ResponseType),
  "additions": [
    {
      object (ThreatEntrySet)
    }
  ],
  "removals": [
    {
      object (ThreatEntrySet)
    }
  ],
  "newClientState": string,
  "checksum": {
    object (Checksum)
  }
}
Alanlar
threatType

enum (ThreatType)

Veri döndürülen tehdit türü.

threatEntryType

enum (ThreatEntryType)

Tehditlerin biçimi.

platformType

enum (PlatformType)

Verilerin döndürüldüğü platform türü.

responseType

enum (ResponseType)

Yanıtın türü. Bu, yanıt alındığında istemcinin işlem yapması gerektiğini gösterebilir.

additions[]

object (ThreatEntrySet)

Yerel tehdit türünün listesine eklenecek giriş kümesi. Sıkıştırılmış ve ham veri kombinasyonunun tek bir yanıtta gönderilmesi için tekrarlanır.

removals[]

object (ThreatEntrySet)

Yerel tehdit türünün listesinden kaldırılacak giriş kümesidir. Pratikte bu alan boştur veya tam olarak bir ThreatEntrySet içerir.

newClientState

string (bytes format)

Şifrelenmiş biçimde yeni istemci durumu. İstemciler için opak.

Base64 olarak kodlanmış bir dize.

checksum

object (Checksum)

İstemci durumunun beklenen SHA256 karması. Yani, sağlanan güncelleme uygulandıktan sonra veritabanında bulunan tüm karmaların sıralanmış listesi. İstemci durumu beklenen durumla eşleşmiyorsa istemcinin bu güncellemeyi göz ardı edip daha sonra yeniden denemesi gerekir.

ResponseType

İstemciye gönderilen yanıtın türü.

Sıralamalar
RESPONSE_TYPE_UNSPECIFIED Bilinmiyor.
PARTIAL_UPDATE İstemcinin mevcut yerel veritabanına kısmi güncellemeler uygulanır.
FULL_UPDATE Tam güncellemeler, istemcinin tüm yerel veritabanının yerini alır. Bu, istemcinin ciddi derecede eski olduğu veya istemcinin bozuk olduğuna inandığı anlamına gelir.

ThreatEntrySet

Bir istemcinin yerel veritabanına eklenmesi veya kaldırılması gereken bir dizi tehdit.

JSON gösterimi
{
  "compressionType": enum (CompressionType),
  "rawHashes": {
    object (RawHashes)
  },
  "rawIndices": {
    object (RawIndices)
  },
  "riceHashes": {
    object (RiceDeltaEncoding)
  },
  "riceIndices": {
    object (RiceDeltaEncoding)
  }
}
Alanlar
compressionType

enum (CompressionType)

Bu kümedeki girişler için sıkıştırma türü.

rawHashes

object (RawHashes)

Ham SHA256 biçimli girişler.

rawIndices

object (RawIndices)

Yerel bir liste için ham kaldırma dizinleri.

riceHashes

object (RiceDeltaEncoding)

Golomb-Rice kodlaması kullanılarak SHA256 biçimli girişlerin kodlanmış 4 baytlık önekleri. Karmalar uint32'ye dönüştürülür, artan düzende sıralanır, ardından delta olarak kodlanır ve codingData olarak depolanır.

riceIndices

object (RiceDeltaEncoding)

Golomb-pirinç kodlaması kullanılarak kodlanmış yerel, sözlüğe göre sıralanmış liste dizinleri. Sıkıştırılmış kaldırma dizinlerini göndermek için kullanılır. Kaldırma dizinleri (uint32) artan düzende sıralanır, ardından delta olarak kodlanır ve codingData olarak depolanır.

RawHashes

Belirli bir önek uzunluğuna sahip karma biçimindeki sıkıştırılmamış tehdit girişleri. Karmalar, boyut olarak 4 ila 32 bayt olabilir. Büyük bir çoğunluğu 4 bayttan oluşur, ancak bazı karmalar popüler bir URL'nin karmasıyla çakışırsa uzatılır.

Sıkıştırmayı desteklemeyen istemcilere ThreatEntrySet'i göndermek veya sıkıştırmayı destekleyen istemcilere 4 bayt olmayan karmalar göndermek için kullanılır.

JSON gösterimi
{
  "prefixSize": integer,
  "rawHashes": string
}
Alanlar
prefixSize

integer

Aşağıda kodlanan her ön ek için bayt sayısı. Bu alan, 4 (en kısa ön ek) ile 32 (tam SHA256 karması) arasında herhangi bir değer olabilir.

rawHashes

string (bytes format)

İkili biçimdeki karmalar tek bir uzun dizede birleştirilir. Karmalar sözlük sıralamasına göre sıralanır. JSON API kullanıcıları için karmalar base64 olarak kodlanır.

Base64 olarak kodlanmış bir dize.

RawIndices

Yerel listeden kaldırılacak ham dizinlerden oluşan bir grup.

JSON gösterimi
{
  "indices": [
    integer
  ]
}
Alanlar
indices[]

integer

Sözlüğe göre sıralanmış yerel listeden kaldırılacak dizinler.

RiceDeltaEncoding

Rice-Golomb kodlamalı veriler. Sıkıştırılmış 4 baytlık karmalar veya sıkıştırılmış kaldırma dizinlerini göndermek için kullanılır.

JSON gösterimi
{
  "firstValue": string,
  "riceParameter": integer,
  "numEntries": integer,
  "encodedData": string
}
Alanlar
firstValue

string (int64 format)

Kodlanmış verilerdeki ilk girişin veya yalnızca tek bir tam sayı kodlanmışsa o tek tam sayının değeri. Alan boş veya eksikse sıfır değerini varsayın.

riceParameter

integer

2 ile 28 arasında bir sayı olan Golomb-Rice parametresi. numEntries sıfırsa bu alan eksiktir (yani sıfır).

numEntries

integer

Kodlanmış verilerde delta olarak kodlanmış girişlerin sayısı. Yalnızca tek bir tam sayı kodlanmışsa bu sıfır olur ve tek değer firstValue içinde depolanır.

encodedData

string (bytes format)

Golomb-Pirin kodlayıcısı kullanılarak kodlanan kodlanmış deltalar.

Base64 olarak kodlanmış bir dize.

Denetim Toplamı

Bir istemcinin yerel veritabanının beklenen durumu.

JSON gösterimi
{
  "sha256": string
}
Alanlar
sha256

string (bytes format)

İstemci durumunun SHA256 karması, yani veritabanında bulunan tüm karmaların sıralanmış listesi.

Base64 olarak kodlanmış bir dize.