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

İsteğin gövdesi, aşağıdaki yapıya sahip 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üncellemeleri.

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ı, müşteriler tarafından gönderilen istek sayısından az olabilir. Bu durum, örneğin, sunucuda belirli bir liste için hiç güncelleme olmaması durumunda yaşanır.

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.

"s" ile biten ve en fazla dokuz kesir basamağı olan, 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)

Listedeki girişlerin oluşturduğu tehdidin türü.

platformType

enum (PlatformType)

Listede bulunan 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üncellemesinden sonra alınan şifrelenmiş istemci durumu).

Base64 kodlu 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ındaki maksimum boyut. Güncelleme, bu değerden daha fazla giriş içermez. 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

Belirtilen liste için istemcinin yerel veritabanında bulundurmak 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 söz konusu değeri kullanıcının IP adresine göre 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 dil için listeleri ister. ISO 639 alfa-2 biçimi beklenir.

deviceLocation

string

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

CompressionType

Tehdit girişi kümelerinin sıkıştırılma yöntemleri.

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

ListUpdateResponse

Tek bir liste için 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)

Kendisi için veri döndürülen tehdit türü.

threatEntryType

enum (ThreatEntryType)

Tehditlerin biçimi.

platformType

enum (PlatformType)

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

responseType

enum (ResponseType)

Yanıtın türü. Bu durum, 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ümesi. Pratikte bu alan boştur veya tam olarak bir ThreatEntrySet içerir.

newClientState

string (bytes format)

Şifrelenmiş biçimdeki yeni istemci durumu. İstemciler için opak olmalıdır.

Base64 kodlu bir dize.

checksum

object (Checksum)

İstemci durumunun beklenen SHA256 karması; yani sağlanan güncelleme uygulandıktan sonra veritabanında mevcut olan tüm karmaların sıralanmış listesi. İstemci durumu beklenen durumla eşleşmiyorsa istemci bu güncellemeyi göz ardı edip daha sonra yeniden denemelidir.

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

İstemcinin yerel veritabanına eklenmesi veya kaldırılması gereken tehditler kümesi.

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-Rice kodlaması kullanılarak kodlanmış yerel, sözlüksel olarak 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, daha sonra delta olarak kodlanır ve codingData olarak depolanır.

RawHashes

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

Sıkıştırmayı desteklemeyen istemcilere ThreatEntrySet gönderirken veya sıkıştırmayı destekleyen istemcilere 4 bayt olmayan karmalar gönderirken 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 önek) 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 kodlu bir dize.

RawIndices

Yerel listeden kaldırılacak ham dizin grubu.

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

integer

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

RiceDeltaEncoding

Rice-Golomb kodlamalı veriler. Sıkıştırılmış 4 baytlık karma değerleri 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 olduğunu 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 değer sıfır olur ve tek değer firstValue özelliğinde depolanır.

encodedData

string (bytes format)

Golomb-Rice kodlayıcı kullanılarak kodlanmış deltalar.

Base64 kodlu 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 mevcut olan tüm karmaların sıralı listesi.

Base64 kodlu bir dize.