python - "gaierror: [Errno -3] Temporary failure in name resolution"是什么意思

标签 python sockets

我正在尝试运行以错误结束的 Flask 应用程序。如果我追溯发生的事情,我可以使用以下 iPython 命令重现问题:

In [14]: import socket

In [15]: s = socket.socket()

In [16]: s.connect(('rabbitmq', 5672))
---------------------------------------------------------------------------
gaierror                                  Traceback (most recent call last)
<ipython-input-16-71a261d976b3> in <module>()
----> 1 s.connect(('rabbitmq', 5672))

/usr/lib/python2.7/socket.pyc in meth(name, self, *args)
    226 
    227 def meth(name,self,*args):
--> 228     return getattr(self._sock,name)(*args)
    229 
    230 for _m in _socketmethods:

gaierror: [Errno -3] Temporary failure in name resolution

我找不到很多关于“名称解析暂时失败”的根本原因的文档。该问题的一个可能原因是我试图在本地运行该应用程序,而它通常是在 docker-compose 环境中初始化的。知道是什么导致了这个错误吗?

最佳答案

gaierror = Get Aaddress Info Error

名称解析暂时失败 = 没有已知的 DNS 能够响应 rabbitmq 域的 IP 地址。

我猜你不希望这是一个真正的域名。将 rabbitmq 主机的条目放入 /etc/hosts

或者改变:

s.connect(('rabbitmq', 5672))

进入:

s.connect(('IP.OF.RABBITMQ.SERVER', 5672))

当然,我指的是真实 IP,而不是我放在那里用于解释的虚拟字符串。

关于python - "gaierror: [Errno -3] Temporary failure in name resolution"是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40238610/

相关文章:

python - 为什么要将 python 列表转换为 numpy 数组?

python - 如何安装CVXPY/SCS与GPU一起使用?

python 条件语句结果不合理

python - 即时创建一个动态的 2D numpy 数组

java聊天室无法从多个客户端发送消息

python - 如何在 Django 单元测试中测试 Django session ?

c# - 调用 Socket.Receive 时防止线程休眠

c++ - 以编程方式评估 somaxconn 的值,以设置监听积压参数

c# - 两次 Socket.BeginReceive 调用之间的 TCP 数据包会发生什么情况?

java - 使用套接字处理生物指纹考勤机