0

Google App Engine(Python)アプリをローカルでテストしようとしています。URLフェッチを行う必要があります。試しましたが、次のエラーメッセージが表示されます。

"urllib2.URLError: <urlopen error [Errno 101] Network is unreachable>"

そこで、展開が行われるかどうかを確認しようとしました。また、同じエラーが発生しました

そして、Pythonシェルで試しました:

>>>import urllib2
>>>a = urllib2.urlopen("http://google.com")
>>>a.code
200
>>>a.readlines
<addinfourl at 155594924 whose fp = <socket._fileobject object at 0x9443d6c>>

応答コードは200ですが、a.readlinesを実行すると、実際のHTMLを取得できません。(a.readlinesはhtmlを出力することになっていますか?)上記を試す前に、環境にhttp_proxy変数を設定しました。私も試してみましたurllib2.install_opener(ProxyConfiguredOpener)。そして、それはまだ機能しません。

URLを開くことができないため、デプロイurllib2に使用しているGoogleAppEngineのような多くのツールを使用できません。urllib2誰かが何が悪いのかわかりますか?

4

1 に答える 1

0

a.code == 200urllib2.urlopen()は、Python シェルでの実行中に成功したことを意味します。

App Engine で実行する場合urllib2.urlopen()は、 google.appengine.api.urlfetch().

ローカルで実行する場合は、ローカル ネットワーク構成を使用する必要があります。プロキシの背後で urlfetch を使用できないというバグが修正されました。

于 2012-08-09T11:20:22.207 に答える