Python套接字:gethostbyaddr:反向DNS查找失败

2024-05-17 15:58:41 发布

您现在位置:Python中文网/ 问答频道 /正文

在特定站点上使用socket.gethostbyaddr(ip_addr)时,获取主机名一直有问题。

我不会详细说明这不是为哪个网站工作。

因此,按名称获取主机对于我迄今为止尝试过的每个站点都很好,但是当我尝试从中获取站点名称时,会得到一个错误消息 正在进行host not found

如果有完整的数据,修复或替代方法会更好。如果没有解决办法,我只能把主机名漏掉。没什么大不了的。谢谢你的帮助。

# not full code
hostip = socket.gethostbyname(hostname)
print socket.gethostbyaddr(hostip)

Error: socket.herror: [Errno 11004] host not found

Tags: 数据ip名称host消息站点网站错误
1条回答
网友
1楼 · 发布于 2024-05-17 15:58:41

不是每个IP地址都有反向DNS。有时这是故意的,有时是因为你在看一个内部地址,而网络内部不需要它,所以不值得设置,有时有人只是搞砸了。

为什么会有人故意这么做?最常见的是,因为多个域名映射到同一个IP地址。

例如,一个共享的托管站点可能会为其三个客户(www.foo.com、www.bar.com和www.baz.com)映射站点,全部映射到1.2.3.4。HTTP在一个Host:头中为您提供了所请求的主机名,因此它可以确定您的浏览器要转到哪个站点。但是除了HTTP(或其他一些更高级别的协议)之外,没有办法找出1.2.3.4中的三个名称。所以,他们不能提供任何对你有用的东西。可能还有一个类似shared_.hostingcompany.com的名称,对他们自己的IT人员很有用,在这种情况下,他们可能会提供这个名称,但在其他情况下,他们不需要任何反向DNS。

相关问题 更多 >