无法从GAE本地环境中获取URL

时间:2013-03-19 06:34:42

标签: python google-app-engine urllib2

尝试在google应用引擎中使用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 interpeter中的urllib2库,成功获取URL。

从谷歌服务器运行的部署代码按预期工作,这与我的本地环境有关,但我找不到它是什么。

我也尝试过使用来自gae的urlfetch,结果相似(同样的getaddrinfo失败)

在使用urllib2库之前几天我切换到Google DNS,但切换回ISP提供的DNS也无效。

编辑:当使用IP地址调用该函数时,将获取URL:

self.write(urllib2.urlopen("http://173.194.42.34").read())

提前致谢!

1 个答案:

答案 0 :(得分:2)

我非常确定您的DNS解析器无法解析主机名。我假设您的操作系统或安全软件禁止devserver创建出站连接。另一种可能性是您的操作系统上的hosts文件中存在无效条目。

此外,还有many similar questions可以帮助您。