2011-08-16 10 views
1

WindowsマシンでGoogle App Engineアプリケーションをテストしています。ローカルマシンではlocalhost:8084で実行しています。 Fiddler2は私のアプリケーションを移動するときの私のすべてのアクティビティを表示しますが、urlfetch.fetch()で外部URLを要求すると、httpを使用していてもhttpsアドレスを使用していてもFiddlerには表示されませんレスポンスのステータスコード200Google App Engineのurlfetch.fetch()がFiddler2に表示されない

Google App Engineからのurlfetch.fetch()リクエストをFiddler2に表示するには、何が必要ですか?

答えて

5

私の理解では、Fiddler2はHTTPプロキシとして動作します。ブラウザーの要求はインターネットリソースに直接ではなく、このプロキシを経由します。これにより、Fiddler2は要求と応答に関する情報を取得できます。

Fiddler2 docsによれば、「トラフィックをデバッグできるように、Fiddlerを実行するHTTPプロキシを受け入れるアプリケーションを設定できます」。だから私はあなたがFiddlerのURLとポートを提供する、プロキシを使用するURLFetch API呼び出しを変更する必要があると思います。ただし、URLFetch documentationはこれを行う方法を正確に指定していません。 this questionで指定されたurllib2を使用することができます。

1

イルッセルは一般的には正しいですが、私は答えをより具体的にしたいと思います。

プロキシはGoogle App Engineのプロダクション環境ではサポートされていないため、開発エンジンで直接サポートされていません。この制限を克服する唯一の方法は、AppEngine開発サーバーのコードを変更することです。

次の行追加することで、urlfetch_stub.pyファイルを変更する必要があります:あなたは私のブログの記事Use Fiddler to debug urlfetch requests in Google AppEngine

で詳細な説明を見つけることができ

connection = connection_class('127.0.0.1', 8888) 

full_path = protocol + "://" + host + full_path 

関連する問題