Python 使用Google(测试版)Web风险API

Python 使用Google(测试版)Web风险API,python,google-cloud-platform,google-api,google-cloud-webrisk,Python,Google Cloud Platform,Google Api,Google Cloud Webrisk,我试图在python代码中使用GoogleWebRiskAPI(测试版)。请参见示例代码:- URI='http://www.amazongroupco.org' # bad url key='key=<mykey>' threat='&threatTypes=MALWARE' queryurl='https://webrisk.googleapis.com/v1beta1/uris:search?' requeststring=queryurl+key+thre

我试图在python代码中使用GoogleWebRiskAPI(测试版)。请参见示例代码:-

 URI='http://www.amazongroupco.org'  # bad url
 key='key=<mykey>'
 threat='&threatTypes=MALWARE'
 queryurl='https://webrisk.googleapis.com/v1beta1/uris:search?'
 requeststring=queryurl+key+threat
 header={"Content-Type":"application/json"}
 payload = {'uri':URI }

 try:

   req = requests.get(requeststring, headers=header, params=payload)
   print(req.url)

   if (req.status_code == 200):
     print(req)
   else:
      print(" ERROR:",req)

 except Exception as e:
        print(" Google API returned error:",e, req.url)
URI='1〕http://www.amazongroupco.org“#错误的url
钥匙
威胁=“&threatTypes=恶意软件”
queryurlhttps://webrisk.googleapis.com/v1beta1/uris:search?'
requeststring=queryurl+密钥+威胁
标头={“内容类型”:“应用程序/json”}
有效负载={'uri':uri}
尝试:
req=requests.get(requeststring,headers=header,params=payload)
打印(请求url)
如果(请求状态\代码==200):
打印(req)
其他:
打印(“错误:”,请求)
例外情况除外,如e:
打印(“谷歌API返回错误:”,e,req.url)
上面的代码总是返回成功的请求状态代码“Response[200]OK”,其中jason响应{}为空。事实上,这是一个恶意网站,我希望它会在jason响应中返回一些东西。我也尝试了其他恶意网站,但得到了相同的响应-状态为200 OK的空jason对象。
我错过什么了吗?。 我知道有些网站可能没有恶意软件,但是是另一种威胁类型的社会工程网站。因此,我想知道是否有一个通用的all-in-all-threatTypes属性我可以使用,它将返回一个jason对象,无论威胁是什么,只要它是一个威胁。 请注意,任何尝试此操作的人都应该有一个GCP帐户来生成密钥。
这里的任何指导都将不胜感激

我还检查了Web风险API,它运行正常,我还复制了您的问题,得到了相同的结果。您正在检查的URL不被谷歌视为恶意软件威胁。老实说,我已经尝试了各种类型的线程为特定的网址,它似乎是不在谷歌名单

您可以找到可以使用的所有线程类型的列表。对于您描述的情况,有一种类型:
THREAT\u type\u UNSPECIFIED
,但它总是返回一个错误json-invalid参数,这是预期的行为

我还应该注意,正如官方文档中所述,您应该使用URI编码的REST API:

URL必须有效(请参阅RFC 2396),但不需要规范化

如果使用RESTAPI,则必须对GET参数进行编码,如URI