Google Safebrowsing API返回空

时间:2018-05-05 10:10:43

标签: python json google-api python-requests

我尝试检查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,但响应为空。 我做错了什么?

2 个答案:

答案 0 :(得分:1)

根据Safe Browsing API documentation,如果您收到空对象是因为找不到匹配项:

  

注意:如果没有匹配项(即,如果没有指定任何网址)   在请求中找到请求中指定的任何列表),   HTTP POST响应只返回响应中的空对象   体。

答案 1 :(得分:1)

我觉得api无法正常工作。即使对于标记为危险的URL,它也会返回200个空结果。例如,我使用url对此google's form进行了检查,结果为“此网站上的某些页面不安全”。但是使用api时,它会返回200空值。我相信它只返回特定页面的结果。如果仅某些页面受感染/危险,那么您将不会获得主域的任何数据...如果您问我不是很有用,但嘿...它是免费的。 如果Google的某人可以确认这一点并将其添加到文档中,那就太好了。 真实的恶意软件测试网址也会受到人们的赞赏,因此我们可以使用真实数据进行测试。