in questo momento faccio:affidabile ottenere indirizzi IPV6 in Python
def get_inet_ip():
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(('mysite.com', 80))
return s.getsockname()[0]
Questa era basata su: Finding local IP addresses using Python's stdlib
Tuttavia, questo sembra un po 'dubbioso. Per quanto ne so, apre un socket su mysite.com:80, quindi restituisce il primo indirizzo per quel socket, assumendo che si tratti di un indirizzo IPv4. Questo sembra un po 'dubbia ... non penso che potremo mai garantire che sia così.
Questa è la mia prima domanda, è sicuro? Su un server abilitato IPv6, l'indirizzo IPv6 potrebbe mai essere restituito in modo imprevisto?
La seconda domanda è come ottenere l'indirizzo IPv6 in modo simile. Im andando a modificare la funzione di prendere un parametro opzionale ipv6.
Questo non è un metodo affidabile per IPv4 . –
Sì, pensavo di no. Per favore spiega meglio. –