Я пытаюсь отправить запрос в API безопасного просмотра Google. Он запрашивает у пользователя 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()