これが私の問題です。腐ったトマト API から URL をリクエストしようとしています。問題は、映画のタイトルにスペースがあるべき場所に + 記号を含めることを要求することです。ただし、アプリ エンジン側でこれを実装する方法がわかりません。アプリ エンジンで同じことをしようとすると、同じエラーが発生するためです。
トレースバック (最新の呼び出しが最後): ファイル「/programming/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.5.2/webapp2.py」、1535 行目、__call__ 内 rv = self.handle_exception(リクエスト、レスポンス、e) ファイル「/programming/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.5.2/webapp2.py」、1529 行目、__call__ 内 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 内 return route.handler_adapter(リクエスト、レスポンス) ファイル「/programming/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.5.2/webapp2.py」、1102 行目、__call__ 内 戻ります 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、ディスパッチ return メソッド (*args, **kwargs) ファイル "/Users/student/Desktop/Movie Rater/MovieRaterBackend/higgsmovies.py"、12 行目、get ページ = urllib2.urlopen(サイト) ファイル「/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py」、126行目、urlopen return _opener.open(url, データ, タイムアウト) ファイル "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py"、400 行目、開いている 応答 = 方法 (要求、応答) ファイル "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py"、513 行目、http_response 「http」、リクエスト、レスポンス、コード、メッセージ、hdrs) ファイル "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py"、438 行目、エラー return self._call_chain(*args) ファイル "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py"、372 行目、_call_chain 内 結果 = 関数 (*args) ファイル "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py"、521 行目、http_error_default 内 HTTPError(req.get_full_url(), code, 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)
constants は、すべてのパスワードなどを含む単なる python ファイルであり、きれいなスープを使用してクリーンアップしていますが、それは問題ではないと確信しています。このコードは、myapplication.com/about?title=your+title+goes+here という URL にアクセスするだけでアクセスできます。ここで、myapplication は Web サイトの URL であり、おそらくいくつかの appspot.com の URL です。
これは、+ 記号を含まない URL で機能します。
どんな助けでも大歓迎です!