Ich benutze Python auf der iOS-App Pythonista 3. Wenn ich versuche, eine IPv6-Adresse zu bekommen, endet es Rückgabe von Bytes anstelle einer formatierten Adresse. Jetzt versuche ich einen Weg zu finden, entweder die Adresse richtig ohne Bytes zu erhalten, oder einen Weg zu finden, die Bytes zur Adresse zu machen. Hier ist der Code, den ich lief die Adresse zu erhalten:Python IPv6 Bytes an Adresse
def getIPv6Addr(input):
return socket.getaddrinfo(input, None, socket.AF_INET6)
und hier war die Ausgabe:
[(30, 2, 17, '', (30, '\x00\x00\x00\x00\x00\x00&\x07\xf8\[email protected]\x00\x08\x14')), (30, 1, 6, '', (30, '\x00\x00\x00\x00\x00\x00&\x07\xf8\[email protected]\x00\x08\x14'))]
Edit: Die alternative Lösung zu finden, welche Art von Codierung verwendet wird, dies zu drehen Daten in Bytes.
What Makes:
2607:f8b0:4000:814::200e
become
\x00\x00\x00\x00\x00\x00&\x07\xf8\[email protected]\x00\x08\x14
Möglicherweise verwandt? https://stackoverflow.com/questions/1238934/getaddrinfo-in-iphone Das 2-Tupel, das Sie erhalten, sieht sicher nicht aus wie irgendetwas, das eine IPv6-Adresse angibt. – chepner
Ich sehe keine ähnlichen Ergebnisse von socket.getaddrinfo in Python2 oder Python3 unter Linux. Das überrascht mich sehr. –