在我做的那一刻:得到可靠的IPv6地址在Python
def get_inet_ip():
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(('mysite.com', 80))
return s.getsockname()[0]
这是基于: Finding local IP addresses using Python's stdlib
然而,这看起来有点可疑。据我所知,它打开一个socket到mysite.com:80,然后返回该套接字的第一个地址,假设它是一个IPv4地址。这似乎有点狡猾......我不认为我们可以保证这是事实。
这是我的第一个问题,它是安全的吗?在启用IPv6的服务器上,IPv6地址是否可以意外返回?
我的第二个问题是,如何以类似的方式获取IPv6地址。我将修改函数以获取可选的ipv6参数。
这不是对IPv4的可靠方法。 – 2013-04-30 15:01:00
是的,我以为没有。请进一步解释。 – 2013-05-07 15:13:09