0
我注意到python的socket.getaddrinfo()
有些奇怪的行爲。重新連接期間的getaddrinfo行爲
如果我連接到無線網絡和呼叫socket.getaddrinfo(),它的工作原理(當然它!):
In [3]: socket.getaddrinfo('charlesleifer.com', 80)
Out[3]:
[...]
如果我斷開,那麼我會收到一個錯誤:
In [4]: socket.getaddrinfo('charlesleifer.com', 80)
---------------------------------------------------------
gaierror Traceback (most
<ipython-input-2-d333ec6c75af> in <module>()
----> 1 socket.getaddrinfo('charlesleifer.com', 80)
最後,如果我重新連接,它將再次工作。
現在這裏是怪異的部分。
如果我通過關閉我的WiFi開始,打開一個終端蟒蛇,和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
但是,當我把我的WiFi無論我嘗試多少次,我都會繼續收到同樣的錯誤!我可以嘗試其他主機,它也會失敗。
如果手動將條目添加到我的/etc/hosts
文件中,那麼它將返回我放入主機文件中的所有內容。但其他請求仍然失敗。
這是怎麼回事?我很難過。