在我的笔记本电脑上,我可以运行
import socket
print(socket.getaddrinfo('yahoo.com', 80))
非常好,它将返回ipv4地址和ipv6。但是,一旦我在我的Amazon Web服务服务器上执行此操作,它似乎无法返回ipv6地址,但它确实适用于少数几个站点。这是DNS问题吗?我该如何解决?
答案 0 :(得分:1)
除非最近发生了某些变化,否则除了美国东俄亥俄州数据中心外,AWS不支持IPv6。 (并且要正确配置也不容易!)
但是如果你真的想要IPv6 DNS,你可以使用socket.getaddrinfo。
print(socket.getaddrinfo("yahoo.com", 80, socket.AF_INET6))
不保证后续与该IPv6地址的套接字连接是否有效 -
因为您可能不在IPv6网络上。您可以将其与socket.has_ipv6
属性组合。但即使这样,在大多数具有自动配置的Terredo地址的Windows机器上也会返回True。