Поиск безопасного просмотра Google API Node.js
У меня возникли проблемы с поиском безопасного поиска Google. Вот код, который я пытаюсь, и я всегда получаю {}
в ответ
var request = require("request-promise")
var body = {
"client": {
"clientId": "myclientid",
"clientVersion": "1.0"
},
"threatInfo": {
"threatTypes": ["MALWARE"],
"platformTypes": ["WINDOWS", "LINUX"],
"threatEntryTypes": ["URL"],
"threatEntries": [
{"url": "http://some-malicious-url"}
]
}
}
var options = {
headers: {
"Content-Type": "application/json",
"Accept": "application/json"
},
method: "POST",
url: "https://safebrowsing.googleapis.com/v4/threatMatches:find?key=my-api-key",
form: body
}
request(options).then(function (data){
console.log(data)
})
Не уверен, правильно ли я понял документы или пропущен какой-либо параметр из моего запроса. Я пробовал с разными URL. Попытка поиска вредоносных URL-адресов из Интернета, которые были идентифицированы моим браузером как вредоносные, но они также дали пустой ответ. Вот документация, за которой я следую
Я также попробовал их threatLists:list
API, и это всегда дает ошибку
curl -XGET https://safebrowsing.googleapis.com/v4/threatLists:list?key=my_api_key
Вот вывод, который я получаю:
<!DOCTYPE html>
<html lang=en>
<meta charset=utf-8>
<meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
<title>Error 404 (Not Found)!!1</title>
<style>
*{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}
</style>
<a href=//www.google.com/><span id=logo aria-label=Google></span></a>
<p><b>404.</b> <ins>That’s an error.</ins>
<p>The requested URL <code>/v4/threatLists:list?key=my_api_key</code> was not found on this server. <ins>That’s all we know.</ins>
3 ответа
Пример списка угроз:
ThreatLists работает без :list
, например curl https://safebrowsing.googleapis.com/v4/threatLists?key=YOUR_KEY
ThreatMatches рабочий пример:
Метод: ПОСТ
Content-Type: применение / JSON
https://safebrowsing.googleapis.com/v4/threatMatches:find?key=YOUR_KEY
Тело:
{
"client": {
"clientId": "testing",
"clientVersion": "0.0.1"
},
"threatInfo": {
"threatTypes": ["MALWARE","SOCIAL_ENGINEERING","UNWANTED_SOFTWARE","MALICIOUS_BINARY"],
"platformTypes": ["ANY_PLATFORM"],
"threatEntryTypes": ["URL"],
"threatEntries": [
{"url": "http://goooogleadsence.biz/"}
]
}
}
Пожалуйста, убедитесь, что вы добавляете "/" в ваших URL в запросе. Это важно сделать.
В этом случае ваш URL станет http://some-malicious-url/
,
Дайте мне знать, если это работает!
Код правильный. У меня есть такой же...
Похоже, что браузер Chrome имеет другой (более точный) источник для безопасного просмотра. Может быть, они хранят эти свежие данные исключительно для некоторых конкретных клиентов. Результат одинаков, какую бы версию протокола поиска вы не использовали. И это то же самое, если вы используете API обновления.
Если кто-то знает, действительно, почему... Я очень заинтересован в этой информации.