“getaddrinfo 失败”,这是啥意思?

Posted

技术标签:

【中文标题】“getaddrinfo 失败”,这是啥意思?【英文标题】:"getaddrinfo failed", what does that mean?“getaddrinfo 失败”,这是什么意思? 【发布时间】:2011-11-12 03:33:43 【问题描述】:
  File "C:\Python27\lib\socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)   gaierror: [Errno 11004]
getaddrinfo failed

从此处启动 hello world 示例时出现此错误:

http://bottlepy.org/docs/dev/

【问题讨论】:

有没有办法优雅地处理这个错误?我有一个密码重置表单,如果EMAIL_HOST 信息正确,它可以正常工作。但是假设电子邮件服务器由于某种原因停机,我该如何处理这种情况?现在,这一切都由 django.contrib.auth() 模块在幕后完成。 【参考方案1】:

这很可能意味着无法解析主机名。

import socket
socket.getaddrinfo('localhost', 8080)

如果它在那里不起作用,那么它在瓶子示例中也不起作用。如果出现问题,您可以尝试使用 '127.0.0.1' 而不是 'localhost'。

【讨论】:

记得加引号:socket.getaddrinfo('127.0.0.1', 8080)【参考方案2】:

就我而言,问题是当我没有代理时,某些安装在我的机器上定义了一个环境变量 http_proxy

删除 http_proxy 环境变量解决了问题。

【讨论】:

工作笔记本:一切都很好。家里的笔记本:失败。我很久以前设置了这个环境变量并忘记了它。我想知道为什么 python 的 http 库没有从操作系统获取代理设置...顺便说一句,我在easy_install 中遇到了这个错误【参考方案3】:

我的问题是我需要为http_proxyhttps_proxy添加 环境变量。

例如,

http_proxy=http://your_proxy:your_port
https_proxy=https://your_proxy:your_port

要在 Windows 中设置这些环境变量,请参阅this question 的答案。

【讨论】:

【参考方案4】:

确保在命令中传递代理属性 例如 - pip install --proxy=http://proxyhost:proxyport pixiedust

使用直接连接的代理端口(带/不带密码)。与您的公司 IT 管理员交谈。快速的方法是找出 eclipse 中使用的直接连接的网络设置。

如果您在公司防火墙后面工作,您会经常遇到此问题。您必须检查您的 Internet Explorer - InternetOptions -LAN 连接 - 设置

取消选中 - 使用自动配置脚本 检查 - 为您的 LAN 使用代理服务器。确保您提供了正确的地址和端口。

点击确定 回到anaconda终端,你可以尝试安装命令

【讨论】:

【参考方案5】:

这可能会对某些人有所帮助。我在 python 脚本中设置了代理,但不断收到问题中提到的错误。

下面是一段将我的用户名和密码作为一开始的常量的块。

   if (use_proxy):
        proxy = req.ProxyHandler('https': proxy_url)
        auth = req.HTTPBasicAuthHandler()
        opener = req.build_opener(proxy, auth, req.HTTPHandler)
        req.install_opener(opener)

如果您使用的是公司笔记本电脑,并且没有连接到 Direct Access 或办公室 ***,则上述块将引发错误。您需要做的就是连接到您的 org ***,然后执行您的 python 脚本。

谢谢

【讨论】:

以上是关于“getaddrinfo 失败”,这是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

fopen 失败,getaddrinfo 失败

PHPMailer 错误:php_network_getaddresses:getaddrinfo 失败:LOCALHOST(XAMPP)中的名称解析暂时失败

php_network_getaddresses:getaddrinfo失败:没有这样的主机是已知的,为啥会显示[关闭]

使用 Ngrok 时 Python TCP 套接字返回 getaddrinfo 失败

fsockopen():php_network_getaddresses:getaddrinfo失败:名称或服务未知

android context.getResources().getDisplayMetrics().density 是啥意思啊?