- HTTP-Anfrage
- Anfragetext
- Antworttext
- ListUpdateRequest
<ph type="x-smartling-placeholder">
- </ph>
- JSON-Darstellung
- Einschränkungen
<ph type="x-smartling-placeholder">
- </ph>
- JSON-Darstellung
- CompressionType
- ListUpdateResponse
<ph type="x-smartling-placeholder">
- </ph>
- JSON-Darstellung
- ResponseType
- ThreatEntrySet
<ph type="x-smartling-placeholder">
- </ph>
- JSON-Darstellung
- RawHashes
<ph type="x-smartling-placeholder">
- </ph>
- JSON-Darstellung
- RawIndices
<ph type="x-smartling-placeholder">
- </ph>
- JSON-Darstellung
- RiceDeltaEncoding
<ph type="x-smartling-placeholder">
- </ph>
- JSON-Darstellung
- Prüfsumme
<ph type="x-smartling-placeholder">
- </ph>
- JSON-Darstellung
Ruft die neuesten Aktualisierungen der Bedrohungsliste ab. Ein Client kann Aktualisierungen für mehrere Listen gleichzeitig anfordern.
HTTP-Anfrage
POST https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch
Die URL verwendet die Syntax der gRPC-Transcodierung.
Anfragetext
Der Anfragetext enthält Daten mit folgender Struktur:
JSON-Darstellung |
---|
{ "client": { object ( |
Felder | |
---|---|
client |
Die Metadaten des Clients. |
listUpdateRequests[] |
Die angeforderte Bedrohungsliste wird aktualisiert. |
Antworttext
Wenn der Vorgang erfolgreich ist, enthält der Antworttext Daten mit folgender Struktur:
JSON-Darstellung |
---|
{
"listUpdateResponses": [
{
object ( |
Felder | |
---|---|
listUpdateResponses[] |
Die von den Kunden angeforderten Listenaktualisierungen. Die Anzahl der Antworten hier ist möglicherweise geringer als die Anzahl der Anfragen, die von Clients gesendet werden. Dies ist beispielsweise der Fall, wenn auf dem Server keine Aktualisierungen für eine bestimmte Liste vorliegen. |
minimumWaitDuration |
Die Mindestdauer, die der Client warten muss, bevor er eine Aktualisierungsanfrage senden kann. Wenn dieses Feld nicht festgelegt ist, können Clients schnellstmöglich aktualisiert werden. Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit " |
ListUpdateRequest
Eine einzelne Anfrage zur Listenaktualisierung.
JSON-Darstellung |
---|
{ "threatType": enum ( |
Felder | |
---|---|
threatType |
Die Art der Bedrohung, die von Einträgen in der Liste ausgeht. |
platformType |
Der Typ der Plattform, die durch Einträge in der Liste gefährdet ist. |
threatEntryType |
Die Eintragstypen in der Liste. |
state |
Der aktuelle Status des Clients für die angeforderte Liste (der verschlüsselte Clientstatus, der nach der letzten erfolgreichen Listenaktualisierung empfangen wurde). Ein base64-codierter String. |
constraints |
Die mit dieser Anfrage verknüpften Einschränkungen. |
Einschränkungen
Die Einschränkungen für dieses Update.
JSON-Darstellung |
---|
{
"maxUpdateEntries": integer,
"maxDatabaseEntries": integer,
"region": string,
"supportedCompressions": [
enum ( |
Felder | |
---|---|
maxUpdateEntries |
Die maximale Größe in der Anzahl der Einträge. Die Aktualisierung enthält nicht mehr Einträge als diesen Wert. Dies sollte eine Potenz von 2 zwischen 2**10 und 2**20 sein. Wenn null, wird kein Größenlimit für die Aktualisierung festgelegt. |
maxDatabaseEntries |
Legt die maximale Anzahl von Einträgen fest, die der Client für die angegebene Liste in der lokalen Datenbank haben möchte. Dies sollte eine Potenz von 2 zwischen 2**10 und 2**20 sein. Wenn null, ist keine Größenbeschränkung für die Datenbank festgelegt. |
region |
Fordert die Liste für einen bestimmten geografischen Standort an. Wenn nicht festgelegt, kann der Server diesen Wert basierend auf der IP-Adresse des Nutzers auswählen. Erwartet das Format ISO 3166-1 ALPHA-2. |
supportedCompressions[] |
Die vom Client unterstützten Komprimierungstypen. |
language |
Fordert die Listen für eine bestimmte Sprache an. Erwartet das Format ISO 639 ALPHA-2. |
deviceLocation |
Der physische Standort eines Kunden, ausgedrückt als ISO 31166-1 Alpha-2-Regionscode. |
CompressionType
Die Möglichkeiten, wie Gruppen von Bedrohungseinträgen komprimiert werden können.
Enums | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
Unbekannt |
RAW |
Unkomprimierte Rohdaten. |
RICE |
Rice-Golomb-codierte Daten. |
ListUpdateResponse
Eine Aktualisierung einer einzelnen Liste.
JSON-Darstellung |
---|
{ "threatType": enum ( |
Felder | |
---|---|
threatType |
Der Bedrohungstyp, für den Daten zurückgegeben werden. |
threatEntryType |
Das Format der Bedrohungen. |
platformType |
Der Plattformtyp, für den Daten zurückgegeben werden. |
responseType |
Die Art der Antwort. Dies kann darauf hindeuten, dass nach dem Empfang der Antwort vom Client eine Aktion erforderlich ist. |
additions[] |
Einträge, die der Liste eines lokalen Bedrohungstyps hinzugefügt werden sollen. Wird wiederholt, damit eine Kombination aus komprimierten und Rohdaten in einer einzigen Antwort gesendet werden kann. |
removals[] |
Einträge, die aus der Liste eines lokalen Bedrohungstyps entfernt werden sollen. In der Praxis ist dieses Feld leer oder enthält genau ein ThreatEntrySet. |
newClientState |
Der neue Clientstatus im verschlüsselten Format. Für Kunden intransparent. Ein base64-codierter String. |
checksum |
Der erwartete SHA256-Hash des Clientstatus. also der sortierten Liste aller Hashes, die nach dem Anwenden des Updates in der Datenbank vorhanden sind. Wenn der Clientstatus nicht mit dem erwarteten Status übereinstimmt, muss der Client diese Aktualisierung ignorieren und es später noch einmal versuchen. |
ResponseType
Die Art der an den Client gesendeten Antwort.
Enums | |
---|---|
RESPONSE_TYPE_UNSPECIFIED |
Unbekannt |
PARTIAL_UPDATE |
Teilaktualisierungen werden auf die vorhandene lokale Datenbank des Clients angewendet. |
FULL_UPDATE |
Vollständige Updates ersetzen die gesamte lokale Datenbank des Clients. Das bedeutet, dass entweder der Kunde ernsthaft veraltet war oder angenommen wird, dass er korrupt ist. |
ThreatEntrySet
Eine Reihe von Bedrohungen, die der lokalen Datenbank eines Clients hinzugefügt oder aus ihr entfernt werden sollten.
JSON-Darstellung |
---|
{ "compressionType": enum ( |
Felder | |
---|---|
compressionType |
Der Komprimierungstyp für die Einträge in diesem Satz. |
rawHashes |
Die SHA256-Roheinträge. |
rawIndices |
Die unformatierten Indizes für die Entfernung einer lokalen Liste. |
riceHashes |
Die codierten 4-Byte-Präfixe von SHA256-formatierten Einträgen unter Verwendung einer Golomb-Rice-Codierung. Die Hashes werden in uint32 konvertiert, in aufsteigender Reihenfolge sortiert, dann Delta codiert und als encodedData gespeichert. |
riceIndices |
Die codierten lokalen, lexikografisch sortierten Listenindizes unter Verwendung einer Golomb-Rice-Codierung. Wird zum Senden komprimierter Entfernungsindexe verwendet. Die Entfernungsindexe (uint32) werden in aufsteigender Reihenfolge sortiert, dann als Delta codiert und als encodedData gespeichert. |
RawHashes
Die unkomprimierten Bedrohungseinträge im Hash-Format mit einer bestimmten Präfixlänge. Hashes können zwischen 4 und 32 Byte groß sein. Die große Mehrheit besteht aus 4 Byte. Einige Hashes werden jedoch verlängert, wenn sie mit dem Hash einer beliebten URL kollidieren.
Wird zum Senden von ThreatEntrySet an Clients verwendet, die keine Komprimierung unterstützen, oder beim Senden von Hashes, die keine 4 Byte sind, an Clients, die Komprimierung unterstützen.
JSON-Darstellung |
---|
{ "prefixSize": integer, "rawHashes": string } |
Felder | |
---|---|
prefixSize |
Die Anzahl der Byte für jedes unten codierte Präfix. Der Wert in diesem Feld kann zwischen 4 (kürzestes Präfix) und 32 (vollständiger SHA256-Hash) liegen. |
rawHashes |
Die Hashes im Binärformat, verkettet zu einem langen String. Hashes werden in lexikografischer Reihenfolge sortiert. Für Nutzer der JSON API sind Hashes base64-codiert. Ein base64-codierter String. |
RawIndices
Eine Reihe von Rohindexen, die aus einer lokalen Liste entfernt werden sollen.
JSON-Darstellung |
---|
{ "indices": [ integer ] } |
Felder | |
---|---|
indices[] |
Die Indizes, die aus einer lexikografisch sortierten lokalen Liste entfernt werden sollen. |
RiceDeltaEncoding
Die Rice-Golomb-codierten Daten. Wird zum Senden komprimierter 4-Byte-Hashes oder komprimierter Entfernungsindexe verwendet.
JSON-Darstellung |
---|
{ "firstValue": string, "riceParameter": integer, "numEntries": integer, "encodedData": string } |
Felder | |
---|---|
firstValue |
Der Offset des ersten Eintrags in den codierten Daten oder, wenn nur eine einzelne Ganzzahl codiert wurde, der Wert dieser einzelnen Ganzzahl. Wenn das Feld leer ist oder fehlt, wird von null angenommen. |
riceParameter |
Der Golomb-Rice-Parameter, der eine Zahl zwischen 2 und 28 ist. Dieses Feld fehlt (d. h. null), wenn |
numEntries |
Die Anzahl der Einträge, die in den codierten Daten Delta codiert sind. Wenn nur eine einzelne Ganzzahl codiert wurde, ist dieser null und der einzelne Wert wird in |
encodedData |
Die codierten Deltas, die mit dem Golomb-Rice-Coder codiert werden. Ein base64-codierter String. |
Prüfsumme
Der erwartete Status der lokalen Datenbank eines Clients.
JSON-Darstellung |
---|
{ "sha256": string } |
Felder | |
---|---|
sha256 |
SHA256-Hash des Clientstatus also der sortierten Liste aller in der Datenbank vorhandenen Hashes. Ein base64-codierter String. |