尝试在谷歌应用引擎中使用 urllib2 获取 URL 时出现以下错误:
error: An error occured while connecting to the server: Unable to fetch URL: http://www.google.com Error: [Errno 10106] getaddrinfo failed
这是调用 urllib2 开放读取方法的代码:
def get(self):
self.write(urllib2.urlopen("http://www.google.com").read())
self.render_index()
没什么特别的,只是调用主处理程序中的库来输出获取的文本。
我的电脑正确解析 DNS。我可以使用 python interpeter 中的 urllib2 库,成功获取 URL。
从谷歌服务器运行的部署代码按预期工作,这与我的本地环境有关,但我找不到它是什么。
我还尝试使用来自 gae 的 urlfetch,结果相似(相同的 getaddrinfo 失败)
在使用 urllib2 库之前的几天,我切换到了谷歌 DNS,但是切换回 ISP,前提是 DNS 也不起作用。
编辑:当使用 IP 地址调用函数时,会获取 URL:
self.write(urllib2.urlopen("http://173.194.42.34").read())
提前致谢!