Обзор
API поиска позволяет вашим клиентским приложениям отправлять запросы на серверы безопасного просмотра, чтобы проверить, включены ли URL-адреса в какой-либо из списков безопасного просмотра. Если URL-адрес найден в одном или нескольких списках, возвращается соответствующая информация.
Проверка URL-адресов
Чтобы проверить, находится ли URL-адрес в списке безопасного просмотра, отправьте HTTP-запрос POST методу ThreatMatches.find :
- Запрос HTTP
POSTможет включать до 500 URL-адресов. URL-адреса должны быть действительными (см. RFC 2396 ), но их не обязательно канонизировать или кодировать. - Ответ HTTP
POSTвозвращает соответствующие URL-адреса вместе с продолжительностью кэша.
Пример: ThreatMatches.find
HTTP POST-запрос
В следующем примере на сервер отправляются два списка безопасного просмотра и три URL-адреса, чтобы определить наличие совпадения.
Заголовок запроса
Заголовок запроса включает URL-адрес запроса и тип контента. Не забудьте заменить API_KEY в URL-адресе на свой ключ API.
POST https://safebrowsing.googleapis.com/v4/threatMatches:find?key=API_KEY HTTP/1.1 Content-Type: application/json
Тело запроса
Тело запроса включает информацию о клиенте (идентификатор и версию) и информацию об угрозах (имена списков и URL-адреса). Дополнительные сведения см. в тексте запроса ThreatMatches.find и в пояснениях, следующих за примером кода.
{
"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/"}
]
}
}Информация о клиенте
Поля clientID и clientVersion должны однозначно идентифицировать реализацию клиента, а не отдельного пользователя. (Информация о клиенте используется для регистрации и учета на стороне сервера. Вы можете выбрать любое имя для идентификатора клиента, но мы предлагаем вам выбрать имя, которое отражает истинную личность клиента, например название вашей компании, представленное одним словом. , строчными буквами.)
Списки безопасного просмотра
Поля threatType , platformType и threatEntryType объединяются для идентификации (имени) списков безопасного просмотра. В примере идентифицируются два списка: MALWARE/WINDOWS/URL и SOCIAL_ENGINEERING/WINDOWS/URL. Прежде чем отправлять запрос, убедитесь, что указанные вами комбинации типов действительны (см. Списки безопасного просмотра ).
URL-адреса угроз
В этом примере массив threatEntries содержит три URL-адреса (urltocheck1.org, urltocheck2.org и urltocheck3.org), которые будут проверены на соответствие двум спискам безопасного просмотра.
Примечание. API поиска и метод threatMatches всегда должны использовать поле URL , а не поле hash (см. ThreatEntry ).
HTTP POST-ответ
В следующем примере ответ возвращает совпадение; два из трех URL-адресов, указанных в запросе, находятся в одном из двух списков безопасного просмотра, указанных в запросе.
Заголовок ответа
Заголовок ответа включает код состояния HTTP и тип контента.
HTTP/1.1 200 OK Content-Type: application/json
Тело ответа
Тело ответа включает информацию о совпадении (имена списков и URL-адреса, найденные в этих списках, метаданные, если они доступны, и продолжительность кэширования). Дополнительные сведения см. в тексте ответа ThreatMatches.find и пояснениях, следующих за примером кода.
Примечание. Если совпадений нет (то есть если ни один из URL-адресов, указанных в запросе, не найден ни в одном из списков, указанных в запросе), ответ HTTP POST просто возвращает пустой объект в теле ответа.
{ "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" }] }
Матчи
Объект matches перечисляет имена списков безопасного просмотра и URL-адреса, если они совпадают. В этом примере два URL-адреса (urltocheck1.org и urltocheck2.org) были обнаружены в одном из списков безопасного просмотра (MALWARE/WINDOWS/URL), поэтому возвращается совпадающая информация. Третий URL-адрес (urltocheck3.org) не найден ни в одном из списков, поэтому для этого URL-адреса не возвращается никакая информация.
Метаданные
Поле threatEntryMetadata является необязательным и предоставляет дополнительную информацию о совпадении угрозы. В настоящее время метаданные доступны для списка безопасного просмотра MALWARE/WINDOWS/URL (см. Метаданные ).
Длительность кэша
Поле cacheDuration указывает период времени, в течение которого URL-адрес должен считаться небезопасным (см. Кэширование ).