Skip to main content
 首页 » 编程设计

python之socket.getaddrinfo 引发了 "Unknown host"之谜

2025年05月04日15lexus

我在使用 python (2.6.2) 套接字类解析主机名时遇到问题。

我可以从 shell ping 主机名,还可以使用 host 命令解析主机名:

host myhostname.mydomain.com 

当我尝试用 python 解决它时,会引发 socket.herror 异常并显示消息“[Errno 1] Unknown host”

socket.gethostbyaddr("myhostname.mydomain.com") 

我最近将名称服务器添加到 resolv.conf,也许我需要重新启动一些东西以便 python 看到这些更新?

有什么想法吗?

请您参考如下方法:

您需要使用 gethostbyname,而不是 gethostbyaddr(执行反向查找)。

>>> socket.gethostbyname('car.spillville.com') 
'209.20.76.192' 
>>> socket.gethostbyaddr('209.20.76.192') 
('car.spillville.com', [], ['209.20.76.192'])