Présentation
L'API Lookup permet à vos applications clientes d'envoyer des requêtes aux serveurs de navigation sécurisée pour vérifier si les URL figurent sur l'une des listes de navigation sécurisée. Si une URL figure sur une ou plusieurs listes, les informations correspondantes sont renvoyées.
Vérification des URL
Pour vérifier si une URL figure sur une liste de navigation sécurisée, envoyez une requête HTTP POST
à la méthode threatMatches.find:
- La requête HTTP
POST
peut inclure jusqu'à 500 URL. Celles-ci doivent être valides (voir la section RFC 2396), mais elles n'ont pas besoin d'être canoniques ni encodées. - La réponse HTTP
POST
renvoie les URL correspondantes, ainsi que la durée du cache.
Exemple: ThreatMatchs.find
Requête HTTP POST
Dans l'exemple suivant, deux listes de navigation sécurisée et trois URL sont envoyées au serveur pour déterminer s'il existe une correspondance.
En-tête de requête
L'en-tête de requête inclut l'URL de la requête et le type de contenu. N'oubliez pas de remplacer votre clé API par API_KEY
dans l'URL.
POST https://safebrowsing.googleapis.com/v4/threatMatches:find?key=API_KEY HTTP/1.1 Content-Type: application/json
Corps de la requête
Le corps de la requête comprend les informations sur le client (ID et version) et les informations sur la menace (les noms des listes et les URL). Pour en savoir plus, consultez le corps de la requête ThratMatchs.find et les explications qui suivent l'exemple de code.
{ "client": { "clientId": "yourcompanyname", "clientVersion": "1.5.2" }, "threatInfo": { "threatTypes": ["MALWARE", "SOCIAL_ENGINEERING"], "platformTypes": ["WINDOWS"], "threatEntryTypes": ["URL"], "threatEntries": [ {"url": "http://www.urltocheck1.org/"}, {"url": "http://www.urltocheck2.org/"}, {"url": "http://www.urltocheck3.com/"} ] } }
Informations sur le client
Les champs clientID
et clientVersion
doivent identifier de manière unique une implémentation client, et non un utilisateur individuel. (Les informations client sont utilisées pour la journalisation et la traçabilité côté serveur. Vous pouvez choisir n'importe quel nom pour l'ID client. Toutefois, nous vous recommandons de choisir un nom qui représente la véritable identité du client, tel que le nom de votre entreprise, présenté comme un seul mot, tout en minuscules.)
Listes de navigation sécurisée
Les champs threatType
, platformType
et threatEntryType
sont combinés pour identifier les listes de navigation sécurisée (nom). Dans l'exemple, deux listes sont identifiées : MALWARE/WINDOWS/URL et SOCIAL_ENGINEERING/WINDOWS/URL. Avant d'envoyer une requête, assurez-vous que les combinaisons de types que vous spécifiez sont valides (consultez la section Listes de navigation sécurisée).
URL des menaces
Dans cet exemple, le tableau threatEntries
contient trois URL (urltocheck1.org, urltocheck2.org et urltocheck3.org) qui seront comparées aux deux listes de navigation sécurisée.
Remarque:L'API Lookup et la méthode threatMatches
doivent toujours utiliser le champ URL
, et non le champ hash
(voir ThreatEntry).
Réponse HTTP POST
Dans l'exemple suivant, la réponse renvoie une correspondance. Deux des trois URL spécifiées dans la requête figurent sur l'une des deux listes de navigation sécurisée spécifiées dans la requête.
En-tête de réponse
L'en-tête de réponse inclut le code d'état HTTP et le type de contenu.
HTTP/1.1 200 OK Content-Type: application/json
Corps de la réponse
Le corps de la réponse inclut les informations de correspondance (noms des listes et URL figurant sur ces listes, métadonnées, le cas échéant, et durées de mise en cache). Pour en savoir plus, consultez le corps de la réponse ThreatMatchs.find et les explications qui suivent l'exemple de code.
Remarque:En l'absence de correspondance (c'est-à-dire, si aucune des URL spécifiées dans la requête ne se trouve sur l'une des listes spécifiées dans une requête), la réponse HTTP POST
renvoie simplement un objet vide dans le corps de la réponse.
{ "matches": [{ "threatType": "MALWARE", "platformType": "WINDOWS", "threatEntryType": "URL", "threat": {"url": "http://www.urltocheck1.org/"}, "threatEntryMetadata": { "entries": [{ "key": "malware_threat_type", "value": "landing" }] }, "cacheDuration": "300.000s" }, { "threatType": "MALWARE", "platformType": "WINDOWS", "threatEntryType": "URL", "threat": {"url": "http://www.urltocheck2.org/"}, "threatEntryMetadata": { "entries": [{ "key": "malware_threat_type", "value": "landing" }] }, "cacheDuration": "300.000s" }] }
Correspond à
L'objet matches
répertorie les noms des listes de navigation sécurisée et les URL, le cas échéant. Dans l'exemple, deux URL (urltocheck1.org et urltocheck2.org) ont été trouvées sur l'une des listes de navigation sécurisée (MALWARE/WINDOWS/URL). Les informations correspondantes sont donc renvoyées. La troisième URL (urltocheck3.org) n'a été trouvée dans aucune des deux listes. Aucune information n'est donc renvoyée pour cette URL.
Métadonnées
Le champ threatEntryMetadata
est facultatif et fournit des informations supplémentaires sur la mise en correspondance des menaces. Les métadonnées sont actuellement disponibles pour la liste de navigation sécurisée MALWARE/WINDOWS/URL (voir Métadonnées).
Durées du cache
Le champ cacheDuration
indique la durée pendant laquelle l'URL doit être considérée comme non sécurisée (voir Mise en cache).