在我做的那一刻:得到可靠的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