Method: threatListUpdates.fetch

En son tehdit listesi güncellemelerini getirir. Bir istemci aynı anda birden fazla liste için güncelleme isteyebilir.

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ıya sahip verileri 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. Bu durum, örneğin, sunucuda belirli bir liste için güncelleme yoksa geçerlidir.

minimumWaitDuration

string (Duration format)

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

En fazla dokuz kesir basamağı olan ve "s" ile biten, saniye cinsinden 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 tehdit türü.

platformType

enum (PlatformType)

Listedeki girişlere göre risk altındaki platformun 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 alınan şifrelenmiş istemci durumu).

base64 kodlu bir dize.

constraints

object (Constraints)

Bu istekle ilişkili kısıtlamalar.

Sınırlamalar

Bu güncellemedeki 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ının maksimum boyutu. Güncellemede bu değerden daha fazla giriş bulunmayacak. Bu değer, 2**10 ile 2**20 arasında 2'nin 2 kuvveti olmalıdır. Sıfır ise güncelleme boyutu sınırı ayarlanmaz.

maxDatabaseEntries

integer

Belirtilen liste için istemcinin yerel veritabanında olmasını istediği maksimum giriş sayısını ayarlar. Bu değer, 2**10 ile 2**20 arasında 2'nin 2 kuvveti olmalıdır. Sıfırsa veritabanı boyutu sınırı ayarlanmaz.

region

string

Belirli bir coğrafi konum için liste ister. Politika ayarlanmazsa sunucu, kullanıcının IP adresine göre bu değeri seçebilir. ISO 3166-1 alfa-2 biçimi beklenir.

supportedCompressions[]

enum (CompressionType)

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

language

string

Listeleri belirli bir dil için ister. ISO 639 alfa-2 biçimi beklenir.

deviceLocation

string

ISO 31166-1 alfa-2 bölge kodu olarak ifade edilen, müşterinin fiziksel konumu.

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 Pirinç-Golomb kodlamalı veriler.

ListUpdateResponse

Bireysel 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)

Verilerin döndürüldüğü 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 türü. Bu, yanıt alındığında istemcinin bir işlem yapması gerektiğini gösterebilir.

additions[]

object (ThreatEntrySet)

Yerel tehdit türünün listesine eklenecek bir dizi giriş. Sıkıştırılmış ve ham verilerin bir 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ş grubu. Pratikte bu alan boştur veya tam olarak bir ThreatEntrySet içerir.

newClientState

string (bytes format)

Şifrelenmiş biçimde, yeni istemci durumu. Müşteriler için donuk.

base64 kodlu 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ıralı listesini içerir. İstemci durumu beklenen durumla eşleşmiyorsa istemcinin bu güncellemeyi göz ardı etmesi ve 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 yerel veritabanının tamamının yerini alır. Bu, istemcinin gerçekten eski olduğu veya istemcinin bozuk olduğuna inandığı anlamına gelir.

ThreatEntrySet

İstemcinin yerel veritabanına eklenmesi veya kaldırılması gereken bir dizi tehdittir.

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 liste için işlenmemiş kaldırma dizinleri.

riceHashes

object (RiceDeltaEncoding)

Golomb-Rice kodlaması kullanılarak SHA256 biçimli girişlerin 4 baytlık ön ekleri. 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) önce artan düzende sıralanır, ardından delta olarak kodlanır ve codingData olarak depolanır.

RawHashes

Belirli bir önek uzunluğunun karma biçimindeki sıkıştırılmamış tehdit girişleri. Karmalar, 4 ila 32 bayt boyutunda olabilir. Çoğunlukla 4 bayttır ancak bazı karmalar popüler bir URL'nin karmasıyla çakışırsa uzatılır.

Sıkıştırmayı desteklemeyen istemcilere veya sıkıştırmayı destekleyen istemcilere 4 bayt olmayan karmalar gönderirken Tehdit Girişi Kümesi 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'ten (en kısa önek) 32'ye (tam SHA256 karması) kadar herhangi bir yerde olabilir.

rawHashes

string (bytes format)

İkili dosya biçimindeki karmalar uzun bir dizede birleştirilir. Karmalar sözlüksel düzende 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 bir işlenmemiş dizin grubu.

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

integer

Sözlüksel olarak sıralı bir yerel listeden kaldırılacak dizinler.

RiceDeltaEncoding

Rice-Golomb olarak kodlanmış veriler. Sıkıştırılmış 4 baytlık karmalar veya sıkıştırılmış kaldırma dizinleri 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 uzaklığı 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ırdır).

numEntries

integer

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

encodedData

string (bytes format)

Golomb-Pirinci kodlayıcı kullanılarak kodlanan 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 bulunan tüm karmaların sıralı listesini içerir.

base64 kodlu bir dize.