2012-01-08 7 views
3

DNS 및 IP 주소 확인을 위해 gethostbyname 기능을 사용하고 있습니다. 그러나,이 경우에서 잘 작동하지 않습니다socket.gethostbyname이 제대로 작동하지 않습니다.

>>> from socket import gethostbyname 
>>> gethostbyname('lns.sa') 
'67.215.65.132' 
>>> gethostbyname('lns.sa') 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
socket.gaierror: [Errno -2] Name or service not known 
>>> gethostbyname('lns.sa') 
'67.215.65.132' 
>>> gethostbyname('lns.sa') 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
socket.gaierror: [Errno -2] Name or service not known 
>>> gethostbyname('lns.sa') 
'67.215.65.132' 
>>> gethostbyname('lns.sa') 
'67.215.65.132' 
>>> gethostbyname('lns.sa') 
'67.215.65.132' 
>>> gethostbyname('lns.sa') 
'67.215.65.132' 
>>> gethostbyname('lns.sa') 
'67.215.65.132' 
>>> gethostbyname('lns.sa') 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
socket.gaierror: [Errno -2] Name or service not known 
>>> 

그것은 한 번 오픈 DNS에 belonge, 두 diffrent 답변을 제공하고 다른 하나는 Name or service not known 오른쪽입니다. 몇 초 후에, 그것은 잘 작동합니다. 누군가가이 동작을 설명 할 수 있고 gethostbyname 신뢰할 수 있습니까?

답변

1

도메인 lns.sa은 (는) 실제로 존재하지 않는 gethostbyname()과 전혀 다른 점이 없습니다.

주소 67.215.65.132은 OpenDNS가 제공하지 않는 도메인입니다. 그것의 이름은 hit-nxdomain.opendns.com.

입니다. 대부분 OpenDNS 서버가 구성되어 있고, 다른 사람이 하나 있습니다. OpenDNS는 "찾을 수없는"도메인을 다시 쓰고 있으며 다른 공급자는 그렇지 않습니다.

관련 문제