tại thời điểm tôi làm:Đáng tin cậy được IPV6 Địa chỉ bằng Python
def get_inet_ip():
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(('mysite.com', 80))
return s.getsockname()[0]
này được dựa trên: Finding local IP addresses using Python's stdlib
Tuy nhiên, Điều này có vẻ hơi mơ hồ. Theo như tôi có thể nói, nó sẽ mở một socket đến mysite.com:80, và sau đó trả về địa chỉ đầu tiên cho socket đó, giả sử nó là địa chỉ IPv4. Điều này có vẻ hơi dodgy ... tôi không nghĩ rằng chúng tôi có thể đảm bảo rằng đó là trường hợp.
Đó là câu hỏi đầu tiên của tôi, có an toàn không? Trên máy chủ hỗ trợ IPv6, địa chỉ IPv6 có được trả về bất ngờ không?
Câu hỏi thứ hai của tôi là làm thế nào để tôi nhận địa chỉ IPv6 theo cách tương tự. Im sẽ sửa đổi các chức năng để có một tham số ipv6 tùy chọn.
Đó không phải là một phương pháp đáng tin cậy cho IPv4 . –
Vâng, tôi nghĩ là không. Xin giải thích thêm. –