【问题标题】:Cannot fetch URLs from GAE local environment无法从 GAE 本地环境中获取 URL
【发布时间】:2013-03-19 06:34:41
【问题描述】:

我在谷歌应用引擎中尝试使用 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 库之前的几天,我切换到了 Google DNS,但如果 DNS 也不起作用,则切换回 ISP。

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

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

提前致谢!

【问题讨论】:

    标签: python google-app-engine urllib2


    【解决方案1】:

    我很确定您的 DNS 解析器无法解析主机名。我假设您的操作系统或安全软件禁止开发服务器创建出站连接。另一种可能性是您的操作系统上的主机文件中有无效条目。

    另外,还有many similar questions可以帮到你。

    【讨论】:

    • 我确实用“getaddrinfo failed”代码对每个问题至少看了三遍,但它们只是帮助我排除故障并排除可能的问题。主机内容:127.0.0.1 localhost
    • 试过关闭windows防火墙和杀毒软件,但还是一样。
    • 不,我的任何浏览器都没有配置代理。会不会是 ISP 的问题?
    • 请在命令行中调用以下命令确定:> ping www.google.com
    猜你喜欢
    • 2015-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    • 2019-07-21
    • 2021-09-16
    • 1970-01-01
    相关资源
    最近更新 更多