这是我的问题。我正在尝试从烂番茄 API 请求一个 url。现在的问题是,他们要求您的电影标题在应该有空格的地方包含 + 符号。但是我不确定如何在应用引擎端实现这一点,因为每当我尝试在应用引擎上做同样的事情时,我都会得到同样的错误:
回溯(最近一次通话最后):
__call__ 中的文件“/programming/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.5.2/webapp2.py”,第 1535 行
rv = self.handle_exception(请求,响应,e)
__call__ 中的文件“/programming/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.5.2/webapp2.py”,第 1529 行
rv = self.router.dispatch(请求,响应)
文件“/programming/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.5.2/webapp2.py”,第 1278 行,在 default_dispatcher
返回 route.handler_adapter(请求,响应)
__call__ 中的文件“/programming/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.5.2/webapp2.py”,第 1102 行
返回 handler.dispatch()
文件“/programming/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.5.2/webapp2.py”,第 572 行,在调度中
return self.handle_exception(e, self.app.debug)
文件“/programming/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.5.2/webapp2.py”,第 570 行,在调度中
返回方法(*args, **kwargs)
文件“/Users/student/Desktop/Movie Rater/MovieRaterBackend/higgsmovies.py”,第 12 行,在 get
page = urllib2.urlopen(站点)
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”,第 126 行,在 urlopen
return _opener.open(网址,数据,超时)
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”,第 400 行,打开
响应=方法(请求,响应)
http_response 中的文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”,第 513 行
'http', 请求, 响应, 代码, msg, hdrs)
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”,第 438 行,错误
返回 self._call_chain(*args)
_call_chain 中的文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”,第 372 行
结果 = 函数(*args)
http_error_default 中的文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”,第 521 行
引发 HTTPError(req.get_full_url(), 代码, msg, hdrs, fp)
HTTPError:HTTP 错误 400:错误请求
这是我的代码:
title = self.request.get("title")
site = "http://api.rottentomatoes.com/api/public/v1.0/movies.json?apikey=" + constants.ROTTEN_TOMATOES_KEY + "&q=" + title + "&page_limit=1"
page = urllib2.urlopen(site)
soup = BeautifulSoup(page)
self.response.out.write(soup)
常量只是一个包含我所有密码和东西的python文件,我正在使用漂亮的汤来清理东西,但我确信这不是问题。只需访问 url myapplication.com/about?title=your+title+goes+here 即可访问此代码,其中 myapplication 将是网站的 url,可能是一些 appspot.com url。
这适用于不包含 + 符号的 URL。
任何帮助将不胜感激!