【问题标题】:Google Safebrowsing API returns emptyGoogle Safebrowsing API 返回空
【发布时间】:2018-10-15 17:28:08
【问题描述】:

我正在尝试检查 Google Safebrowsing API 上的多个 URL,但它每次都返回一个空响应。已经用谷歌搜索了好几个小时没有结果,我不需要一些矫枉过正的库来完成一个简单的 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,但响应为空。 我做错了什么?

【问题讨论】:

    标签: python json google-api python-requests


    【解决方案1】:

    根据Safe Browsing APIdocumentation,如果收到空对象是因为没有找到匹配项:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-13
        • 1970-01-01
        • 1970-01-01
        • 2016-10-19
        相关资源
        最近更新 更多