python – Google Safe-Browsing Lookup API中的无效请求
发布时间:2020-12-20 13:23:38 所属栏目:Python 来源:网络整理
导读:我正在尝试向Google安全浏览查找API发送请求.它要求用户提供他想要查找的URL.但是,我发送请求的方式存在一些问题,因为它一直在回复错误代码400.请帮助. import urllibimport urllib2from google.appengine.ext import webappfrom google.appengine.ext.webap
我正在尝试向Google安全浏览查找API发送请求.它要求用户提供他想要查找的URL.但是,我发送请求的方式存在一些问题,因为它一直在回复错误代码400.请帮助.
import urllib import urllib2 from google.appengine.ext import webapp from google.appengine.ext.webapp import util from google.appengine.api import urlfetch req_url = "https://sb-ssl.google.com/safebrowsing/api/lookup" class MainHandler(webapp.RequestHandler): def get(self): self.response.out.write("""<html> <body> <form action='' method='POST'> <input type='text' name='url'> <input type='submit' value='submit!!'> </form> </body> </html>""") def post(self): post_data = {'client':'api','apikey':'My-API-Key','appver':'1.5.2','pver':'3.0','url':"%s"% self.request.get('url') } data = urllib.urlencode(post_data) try: req = urlfetch.fetch(url = req_url,payload = data,method = urlfetch.POST,headers = {'Content-Type': 'application/x-www-form-urlencoded'}) if req.status_code == '200': self.response.out.write("success") self.response.out.write(req.content) else: self.response.out.write("Error code %s!!!"% req.status_code) except urllib2.URLError,e: self.response.out.write("Exception Raised") handleError(e) def main(): application = webapp.WSGIApplication([ ('/',MainHandler) ],debug=True) util.run_wsgi_app(application) if __name__ == '__main__': main() 解决方法
您似乎没有遵循GET或POST方法的协议,而是通过POST传递应该是GET参数的内容.
试试这个方法: import urllib from google.appengine.api import urlfetch def safe_browsing(url): """Returns True if url is safe or False is it is suspect""" params = urllib.urlencode({ 'client':'api','apikey':'yourkey','url': url }) url = "https://sb-ssl.google.com/safebrowsing/api/lookup?%s" % params res = urlfetch.fetch(url,method=urlfetch.GET) if res.status_code >= 400: raise Exception("Status: %s" % res.status_code) return res.status_code == 204 哪个会像: >>> safe_browsing('http://www.yahoo.com/') True (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |