0

我正在尝试在本地测试我的 Google App Engine (Python) 应用程序。我需要做一些 URL 获取,我尝试过,但显示以下错误消息。

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

所以我试图检查部署是否发生。它也导致了同样的错误

然后我在 Python shell 中尝试了:

>>>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)。它仍然不起作用。

我无法urllib2打开任何 URL,因此我无法使用很多工具,例如urllib2用于部署的 Google App Engine。任何人都可以告诉什么是错的?

4

1 回答 1

0

a.code == 200表示urllib2.urlopen()在 Python shell 中运行时成功。

在 App Engine 中运行时urllib2.urlopen()使用google.appengine.api.urlfetch().

如果您在本地运行它,它应该使用您的本地网络配置。修复了无法在代理后面使用的错误urlfetch 。

于 2012-08-09T11:20:22.207 回答