如何在Python套接字中获取域名?

时间:2015-10-24 09:25:25

标签: python python-2.7 sockets python-3.x

我的代码:

def getHostName(ip_addr):
    host_name = socket.gethostbyaddr(ip_addr)
    if host_name != "":
          return host_name

当我在上述函数中插入216.58.220.46作为IP值时,它会返回域名:maa03s19-in-f14.1e100.net而不是google.com。那么我应该使用什么套接字方法来获取通常的域名

1 个答案:

答案 0 :(得分:1)

对于IP地址,没有一个有保证的单一名称,互联网并不像那样工作。

您无法在Python套接字中执行此操作 - 因为您根本无法执行此操作,因为" 域名"不是一个存在的概念。许多域名可以解析为一个IP地址,DNS中反向查找条目的IP地址也不必与它们有任何关系。

e.g。 maa03s19-in-f14.1e100.net 是该IP地址的有效名称,而不是您认可的名称。

这是一个对DNS和IP寻址工作方式没有意义的问题。