【发布时间】:2026-02-10 07:05:01
【问题描述】:
我正在尝试实现一个小功能来验证可能的网络钓鱼 URL,并认为使用 Google 安全浏览 API 将是一个好的开始。
阅读 API 文档后,我认为自己掌握了一些东西,并拼凑了以下代码:
import requests
import json
url = "https://safebrowsing.googleapis.com/v4/threatMatches:find?key=<REDACTED>"
headers = {'content-type': 'application/json'}
payload = {'client': {'clientId': "mycompany", 'clientVersion': "0.1"},
'threatInfo': {'threatTypes': ["SOCIAL_ENGINEERING", "MALWARE"],
'platformTypes': ["ANY_PLATFORM"],
'threatEntryTypes': ["URL"],
'threatEntries:': [{'url': "http://www.urltocheck1.org"}]}}
print (json.dumps(payload, indent=4))
r = requests.post(url, headers=headers, json=payload)
如果我做一个
打印 (json.dumps(payload, indent=4)
一切都看起来没问题。但是,我从 Google 收到的回复不同意。
{'error': {'message': '收到无效的 JSON 有效负载。未知名称 "threat_entries:" at \'threat_info\': 找不到字段。', 'status': 'INVALID_ARGUMENT','代码':400,'详细信息':[{'@type': 'type.googleapis.com/google.rpc.BadRequest'、'fieldViolations': [{'field': 'threat_info', 'description': '无效的 JSON 负载 已收到。 \'threat_info\' 中的未知名称“threat_entries:”:不能 查找字段。'}]}]}} {'X-Frame-Options': 'SAMEORIGIN', “传输编码”:“分块”,“缓存控制”:“私有”,“日期”: '2016 年 10 月 25 日星期二 07:55:30 GMT','Content-Type':'application/json; charset=UTF-8', 'Alt-Svc': 'quic=":443";马=2592000; v="36,35,34,33,32"', 'X-Content-Type-Options': 'nosniff', '内容编码':'gzip','X-XSS-保护':'1;模式=块', “服务器”:“ESF”} 应用程序/json; charset=UTF-8
我无法 - 像往常一样 - 发现我的错误。其他人可以发现它并可能让我走上正确的轨道吗?
【问题讨论】:
标签: python json python-requests safe-browsing