Python 重新连接期间的getaddrinfo行为
我注意到python的Python 重新连接期间的getaddrinfo行为,python,linux,networking,getaddrinfo,Python,Linux,Networking,Getaddrinfo,我注意到python的socket.getaddrinfo()有一些奇怪的行为 如果我连接到wifi并调用socket.getaddrinfo(),它会工作(当然会工作!): 如果断开连接,则会收到一个错误: In [4]: socket.getaddrinfo('charlesleifer.com', 80) --------------------------------------------------------- gaierror
socket.getaddrinfo()
有一些奇怪的行为
如果我连接到wifi并调用socket.getaddrinfo(),它会工作(当然会工作!):
如果断开连接,则会收到一个错误:
In [4]: socket.getaddrinfo('charlesleifer.com', 80)
---------------------------------------------------------
gaierror Traceback (most
<ipython-input-2-d333ec6c75af> in <module>()
----> 1 socket.getaddrinfo('charlesleifer.com', 80)
[4]中的:socket.getaddrinfo('charlesleifer.com',80)
---------------------------------------------------------
错误回溯(most)
在()
---->1 socket.getaddrinfo('charlesleifer.com',80)
最后,如果我重新连接,它将再次工作
现在是奇怪的部分。
如果我一开始就关闭wifi,打开python终端,然后调用socket.getaddrinfo,我将收到与之前相同的错误
In [2]: socket.getaddrinfo('charlesleifer.com', 80)
---------------------------------------------------------
gaierror Traceback (most
<ipython-input-2-d333ec6c75af> in <module>()
----> 1 socket.getaddrinfo('charlesleifer.com', 80)
gaierror: [Errno -2] Name or service not known
[2]中的:socket.getaddrinfo('charlesleifer.com',80)
---------------------------------------------------------
错误回溯(most)
在()
---->1 socket.getaddrinfo('charlesleifer.com',80)
gaierror:[Errno-2]名称或服务未知
但当我打开wifi时,无论我尝试了多少次,我都会继续收到相同的错误!我可以尝试其他主机,但它也会失败
如果我手动将条目添加到我的/etc/hosts
文件中,那么它将返回我在hosts文件中输入的任何内容。不过,其他请求仍然会失败
这里发生了什么?我很困惑。我的一个朋友共享了以下补丁,该补丁手动刷新冲突解决程序缓存。这为我解决了这个问题
In [2]: socket.getaddrinfo('charlesleifer.com', 80)
---------------------------------------------------------
gaierror Traceback (most
<ipython-input-2-d333ec6c75af> in <module>()
----> 1 socket.getaddrinfo('charlesleifer.com', 80)
gaierror: [Errno -2] Name or service not known