无法从GAE本地环境获取URL
我在使用urllib2从谷歌应用引擎获取一个网址时遇到了以下错误:
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解释器中使用urllib2库,成功获取网址。
在谷歌服务器上运行的部署代码也正常工作,问题出在我的本地环境,但我找不到具体是什么原因。
我还尝试过使用gae的urlfetch,结果也是类似(同样是getaddrinfo失败)。
几天前我切换到了谷歌的DNS,使用urllib2库时也没问题,但切换回互联网服务提供商提供的DNS也没有解决问题。
编辑:当用IP地址调用这个函数时,可以成功获取网址:
self.write(urllib2.urlopen("http://173.194.42.34").read())
提前谢谢你们!
1 个回答
2
我觉得你的DNS解析器可能无法找到这个主机名。也就是说,你的操作系统或者安全软件可能不允许开发服务器建立外部连接。还有一种可能是,你的操作系统的hosts文件里有错误的条目。
另外,还有很多类似的问题,可能对你有帮助。