Python resolve a host name with IPv6 address

dns, ipv6, python

Solution

socket.getaddrinfo supports IPv6. You just need to set `family` to `AF_INET6`.

socket.getaddrinfo("example.com", None, socket.AF_INET6)

Problem

I wonder if there is a way to use python to resolve a hostname that resolves only in ipv6 and/or for a hostname that resolves both in ipv4 and ipv6? `socket.gethostbyname()` and `socket.gethostbyname_ex()`does not work for ipv6 resolution. A dummy way to do that is to run actual linux host command and parse the results. Is there any better way to do that? Thanks,

Original source

Related problems