首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >socket.gethostbyname表现不佳

socket.gethostbyname表现不佳
EN

Stack Overflow用户
提问于 2012-01-08 23:41:33
回答 1查看 5.5K关注 0票数 3

我正在使用gethostbyname函数来检查域名系统和IP地址。但是,在这种情况下,它不能很好地工作:

代码语言:javascript
复制
>>> 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
>>> 

它给出了两种不同的答案,一种是OpenDNS,另一种是Name or service not known,正确的答案。几秒钟后,它就可以正常工作了。有人能解释一下这种行为吗?使用gethostbyname可靠吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-08 23:52:32

gethostbyname()一点问题都没有--域lns.sa实际上并不存在。

地址67.215.65.132是OpenDNS为不存在的域提供的地址。它的名字是hit-nxdomain.opendns.com.

最有可能的情况是,您配置了一个OpenDNS服务器,另一个来自其他人。OpenDNS正在重写任何“未找到”的域名,其他提供商没有。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8778832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档