2010-09-02 29 views
1

我在使用python(2.6.2)套接字類解析主機名時遇到問題。socket.getaddrinfo引發「未知主機」之謎

從貝我能使用host命令來ping主機名,還解析主機名:

host myhostname.mydomain.com 

當我試圖用Python來解決這個問題,一個socket.herror引發異常帶消息「[錯誤1]未知主機」

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

我最近添加的域名服務器的resolv.conf,也許我需要重新啓動的東西Python來看到這些更新?

任何想法?

回答

7

您需要使用gethostbyname而不是gethostbyaddr(它不會反向查找)。

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

這很有魅力 - 謝謝! – 2010-09-02 01:51:20