【发布时间】:2011-11-10 04:24:18
【问题描述】:
我正在尝试将我的应用程序引擎应用程序从 python 2.5 切换到 2.7 并且 urlfetch.fetch() 只是不想工作(至少在开发服务器上;我还没有部署它)。如果我做一些简单的事情:
file = urlfetch.fetch(url="http://www.google.com")
我收到以下错误:
File "C:\workspace\DjangoServer\src\mycode.py", line 167, in request
file = urlfetch.fetch(url="http://www.google.com")
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\urlfetch.py", line 264, in fetch
return rpc.get_result()
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\apiproxy_stub_map.py", line 592, in get_result
return self.__get_result_hook(self)
File "C:\Program Files (x86)\Google\google_appengine\google\appengine\api\urlfetch.py", line 366, in _get_fetch_result
raise DownloadError(str(err))
DownloadError: ApplicationError: 2 [Errno 11003] getaddrinfo failed
搜索互联网表明这可能是防火墙或代理问题,但我关闭了防火墙并且我没有使用代理。
这在 python 2.5 开发服务器中可以正常工作,但在 python 2.7 开发服务器中不行。如果我打开一个 python 2.7 控制台并手动运行socket.getaddrinfo("www.google.com", 80) 它也可以在那里工作。
有什么想法吗?有没有其他人遇到过这种情况?
【问题讨论】:
-
您使用的是最新版本的 SDK,1.6.0?
-
另外,您能否 ping localhost 并确认它解析为 127.0.0.1?
-
是的,我使用的是 1.6 SDK,ping localhost 解析为 127.0.0.1。我的主机文件也是空的。我使用的是 Windows 7。
-
好的。 FWIW,您的测试适用于所有相同的版本。
-
其他域是否会发生这种情况,或者只是 google.com?
标签: google-app-engine python-2.7