我在使用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重新启动一些东西才能看到这些更新?
有什么想法吗?
答案 0 :(得分:8)
您需要使用gethostbyname
,而不是gethostbyaddr
(反向查找)。
>>> socket.gethostbyname('car.spillville.com')
'209.20.76.192'
>>> socket.gethostbyaddr('209.20.76.192')
('car.spillville.com', [], ['209.20.76.192'])