我尝试检查Google Safebrowsing API上的多个网址,但每次都会返回一个空响应。谷歌搜索了几个小时没有结果,我不需要一些矫枉过正的库来提供简单的POST请求。
编辑:使用Python 3.5.2
import requests
import json
api_key = '123456'
url = "https://safebrowsing.googleapis.com/v4/threatMatches:find"
payload = {'client': {'clientId': "mycompany", 'clientVersion': "0.1"},
'threatInfo': {'threatTypes': ["SOCIAL_ENGINEERING", "MALWARE"],
'platformTypes': ["ANY_PLATFORM"],
'threatEntryTypes': ["URL"],
'threatEntries': [{'url': "http://www.thetesturl.com"}]}}
params = {'key': api_key}
r = requests.post(url, params=params, json=payload)
# Print response
print(r)
print(r.json())
这是我的代码,返回HTTP 200 OK,但响应为空。 我做错了什么?
答案 0 :(得分:1)
根据Safe Browsing API
documentation,如果您收到空对象是因为找不到匹配项:
注意:如果没有匹配项(即,如果没有指定任何网址) 在请求中找到请求中指定的任何列表), HTTP POST响应只返回响应中的空对象 体。
答案 1 :(得分:1)
我觉得api无法正常工作。即使对于标记为危险的URL,它也会返回200个空结果。例如,我使用url对此google's form进行了检查,结果为“此网站上的某些页面不安全”。但是使用api时,它会返回200空值。我相信它只返回特定页面的结果。如果仅某些页面受感染/危险,那么您将不会获得主域的任何数据...如果您问我不是很有用,但嘿...它是免费的。 如果Google的某人可以确认这一点并将其添加到文档中,那就太好了。 真实的恶意软件测试网址也会受到人们的赞赏,因此我们可以使用真实数据进行测试。