- Żądanie HTTP
 - Treść żądania
 - Treść odpowiedzi
 - ListUpdateRequest
 - Ograniczenia
 - CompressionType
 - ListUpdateResponse
 - ResponseType
 - ThreatEntrySet
 - RawHashes
 - RawIndices
 - RiceDeltaEncoding
 - Suma kontrolna
 
Pobiera najnowsze aktualizacje listy zagrożeń. Klient może poprosić o aktualizację wielu list jednocześnie.
Żądanie HTTP
POST https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch
Adres URL używa składni transkodowania gRPC.
Treść żądania
Treść żądania zawiera dane o następującej strukturze:
| Zapis JSON | 
|---|
{ "client": { object (  | 
                
| Pola | |
|---|---|
client | 
                  
                     
 Metadane klienta.  | 
                
listUpdateRequests[] | 
                  
                     
 Żądana lista zagrożeń została zaktualizowana.  | 
                
Treść odpowiedzi
W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:
| Zapis JSON | 
|---|
{
  "listUpdateResponses": [
    {
      object ( | 
                  
| Pola | |
|---|---|
listUpdateResponses[] | 
                    
                       
 Lista zostanie zaktualizowana, o to co klienci proszą. Liczba odpowiedzi może być mniejsza niż liczba żądań wysłanych przez klientów. Dzieje się tak na przykład wtedy, gdy serwer nie aktualizuje konkretnej listy.  | 
                  
minimumWaitDuration | 
                    
                       
 Minimalny czas, przez jaki klient musi czekać przed wysłaniem żądania aktualizacji. Jeśli to pole nie jest skonfigurowane, klienty mogą aktualizować swoje dane w dowolnym momencie. Czas trwania w sekundach składający się z maksymalnie 9 cyfr po przecinku, kończący się cyfrą „  | 
                  
ListUpdateRequest
Jedno żądanie aktualizacji listy.
| Zapis JSON | 
|---|
{ "threatType": enum (  | 
              
| Pola | |
|---|---|
threatType | 
                
                   
 Rodzaj zagrożenia ze strony wpisów na liście.  | 
              
platformType | 
                
                   
 Typ platformy zagrożonej według pozycji na liście.  | 
              
threatEntryType | 
                
                   
 Typy wpisów na liście.  | 
              
state | 
                
                   
 Bieżący stan klienta dla żądanej listy (stan zaszyfrowanego klienta otrzymany po ostatniej udanej aktualizacji listy). Ciąg zakodowany w formacie base64.  | 
              
constraints | 
                
                   
 Ograniczenia powiązane z tym żądaniem.  | 
              
Ograniczenia
Ograniczenia tej aktualizacji.
| Zapis JSON | 
|---|
{
  "maxUpdateEntries": integer,
  "maxDatabaseEntries": integer,
  "region": string,
  "supportedCompressions": [
    enum ( | 
              
| Pola | |
|---|---|
maxUpdateEntries | 
                
                   
 Maksymalny rozmiar liczby wpisów. Aktualizacja nie będzie zawierać więcej wpisów niż ta wartość. Powinna to być potęga 2 z zakresu 2**10–2**20. Jeśli wartość wynosi 0, limit rozmiaru aktualizacji nie jest ustawiony.  | 
              
maxDatabaseEntries | 
                
                   
 Określa maksymalną liczbę wpisów z określonej listy, które klient może mieć w lokalnej bazie danych. Powinna to być potęga 2 z zakresu 2**10–2**20. Jeśli 0, nie jest ustawiony limit rozmiaru bazy danych.  | 
              
region | 
                
                   
 prosi o wyświetlenie listy dla konkretnej lokalizacji geograficznej. Jeśli jej nie skonfigurujesz, serwer może wybierać tę wartość na podstawie adresu IP użytkownika. Oczekiwany jest format ISO 3166-1 alfa-2.  | 
              
supportedCompressions[] | 
                
                   
 Typy kompresji obsługiwane przez klienta.  | 
              
language | 
                
                   
 Służy do wyświetlania prośby o listy dla konkretnego języka. Oczekiwany jest format ISO 639 alfa-2.  | 
              
deviceLocation | 
                
                   
 Fizyczna lokalizacja klienta wyrażona jako kod regionu w formacie ISO 31166-1 alfa-2.  | 
              
CompressionType
Sposoby, w jakie można skompresować zestawy wpisów zagrożeń.
| Wartości w polu enum | |
|---|---|
COMPRESSION_TYPE_UNSPECIFIED | 
                Nieznany. | 
RAW | 
                Nieprzetworzone, nieskompresowane dane. | 
RICE | 
                Dane zakodowane w formacie Rice-Golomb. | 
ListUpdateResponse
Aktualizacja pojedynczej listy.
| Zapis JSON | 
|---|
{ "threatType": enum (  | 
              
| Pola | |
|---|---|
threatType | 
                
                   
 Typ zagrożenia, w przypadku którego zwracane są dane.  | 
              
threatEntryType | 
                
                   
 Format gróźb.  | 
              
platformType | 
                
                   
 Typ platformy, dla której są zwracane dane.  | 
              
responseType | 
                
                   
 Typ odpowiedzi. Może to oznaczać, że po otrzymaniu odpowiedzi klient będzie musiał wykonać określone działanie.  | 
              
additions[] | 
                
                   
 Zbiór wpisów do dodania do listy lokalnych typów zagrożeń. Powtórzenie czynności pozwala na wysłanie kombinacji skompresowanych i nieprzetworzonych danych w jednej odpowiedzi.  | 
              
removals[] | 
                
                   
 Zbiór wpisów do usunięcia z listy lokalnych typów zagrożeń. W praktyce to pole jest puste lub zawiera dokładnie 1 zestaw ThreatEntrySet.  | 
              
newClientState | 
                
                   
 Nowy stan klienta w formacie zaszyfrowanym. Nieprzezroczyste dla klientów. Ciąg zakodowany w formacie base64.  | 
              
checksum | 
                
                   
 Oczekiwany hasz SHA256 stanu klienta; czyli posortowanej listy wszystkich haszów znajdujących się w bazie danych po zastosowaniu dostarczonej aktualizacji. Jeśli stan klienta nie jest zgodny z oczekiwanym, klient musi zignorować tę aktualizację i spróbować ponownie później.  | 
              
ResponseType
Typ odpowiedzi wysłanej do klienta.
| Wartości w polu enum | |
|---|---|
RESPONSE_TYPE_UNSPECIFIED | 
                Nieznany. | 
PARTIAL_UPDATE | 
                Częściowe aktualizacje są stosowane do istniejącej lokalnej bazy danych klienta. | 
FULL_UPDATE | 
                Pełne aktualizacje zastępują całą lokalną bazę danych klienta. Oznacza to, że klient był poważnie nieaktualny lub jest uważany za uszkodzony. | 
ThreatEntrySet
Zestaw zagrożeń, które powinny zostać dodane do lokalnej bazy danych klienta lub z niej usunięte.
| Zapis JSON | 
|---|
{ "compressionType": enum (  | 
              
| Pola | |
|---|---|
compressionType | 
                
                   
 Typ kompresji wpisów w tym zbiorze.  | 
              
rawHashes | 
                
                   
 Nieprzetworzone wpisy w formacie SHA256.  | 
              
rawIndices | 
                
                   
 Wskaźniki usunięcia nieprzetworzonych danych dla listy lokalnej.  | 
              
riceHashes | 
                
                   
 Zakodowane 4-bajtowe prefiksy wpisów w formacie SHA256 za pomocą kodowania Golomb-Rice. Są one konwertowane na format uint32, posortowany w kolejności rosnącej, a następnie zakodowane za pomocą delta i przechowywane jako zakodowane dane.  | 
              
riceIndices | 
                
                   
 Zakodowane lokalne, posortowane leksykograficznie indeksy list w formacie Golomb-Rice. Służy do wysyłania skompresowanych indeksów usuwania treści. Indeksy usuwania (uint32) są sortowane w kolejności rosnącej, a następnie zakodowane delta i przechowywane jako zakodowane dane.  | 
              
RawHashes
Nieskompresowane wpisy o zagrożeniach w formacie skrótu o określonej długości prefiksu. Hasze mogą mieć od 4 do 32 bajtów. Znaczna większość ma 4 bajty, ale niektóre hasze mogą być wydłużane, jeśli kolidują z szyfrowaniem popularnego adresu URL.
Służy do wysyłania wartości ThreatEntrySet do klientów, które nie obsługują kompresji, lub w przypadku wysyłania skrótów innych niż 4-bajtowe do klientów, które obsługują kompresję.
| Zapis JSON | 
|---|
{ "prefixSize": integer, "rawHashes": string }  | 
              
| Pola | |
|---|---|
prefixSize | 
                
                   
 Liczba bajtów dla każdego zakodowanego poniżej prefiksu. Pole to może zawierać wartość od 4 (najkrótszy prefiks) do 32 (pełny hasz SHA256).  | 
              
rawHashes | 
                
                   
 Hasze w formacie binarnym połączone w jeden długi ciąg. Hasze są sortowane w kolejności leksykograficznej. W przypadku użytkowników interfejsu JSON API hasze są zakodowane w formacie base64. Ciąg zakodowany w formacie base64.  | 
              
RawIndices
Zestaw nieprzetworzonych indeksów do usunięcia z listy lokalnej.
| Zapis JSON | 
|---|
{ "indices": [ integer ] }  | 
              
| Pola | |
|---|---|
indices[] | 
                
                   
 Indeksy do usunięcia z leksykograficznie posortowanej listy lokalnej.  | 
              
RiceDeltaEncoding
Dane zakodowane przez Rice-Golomb. Służy do wysyłania skompresowanych 4-bajtowych haszy lub indeksów usuwania skompresowanych.
| Zapis JSON | 
|---|
{ "firstValue": string, "riceParameter": integer, "numEntries": integer, "encodedData": string }  | 
              
| Pola | |
|---|---|
firstValue | 
                
                   
 Przesunięcie pierwszego wpisu w zakodowanych danych lub, jeśli zakodowano tylko jedną liczbę całkowitą, wartość tej pojedynczej liczby całkowitej. Jeśli pole jest puste lub go nie ma, zakładaj zero.  | 
              
riceParameter | 
                
                   
 Parametr Golomb-Rice, który ma wartość od 2 do 28. Brak tego pola (czyli 0), jeśli   | 
              
numEntries | 
                
                   
 Liczba wpisów zakodowanych delta w zakodowanych danych. Jeśli zakodowana została tylko jedna liczba całkowita, będzie ona wynosić 0, a pojedyncza wartość zostanie zapisana w polu   | 
              
encodedData | 
                
                   
 Zakodowane delta z kodera Golomb-Rice. Ciąg zakodowany w formacie base64.  | 
              
Suma kontrolna
Oczekiwany stan lokalnej bazy danych klienta.
| Zapis JSON | 
|---|
{ "sha256": string }  | 
              
| Pola | |
|---|---|
sha256 | 
                
                   
 Skrót SHA256 stanu klienta; czyli posortowanej listy wszystkich haszy występujących w bazie danych. Ciąg zakodowany w formacie base64.  |