socket.gethostbyname 给错 IP

socket.gethostbyname giving wrong IP

socket.gethostbyname("vidzi.tv") 给予 '104.20.87.139'

ping vidzi.tv 给出 '104.20.86.139'

socket.gethostbyname("www.vidzi.tv") 给出 '104.20.87.139'

ping www.vidzi.tv 给出 '104.20.86.139'

为什么 socket.gethostbyname 为该网站提供了错误的 IP?它正在为其他网站提供正确的 IP?

我在你的问题中没有看到任何 "wrong" IP。允许 DNS 服务器 return 同一主机的多个 IP 地址。客户一般只选择其中之一。许多服务器将其用作负载平衡的一部分,因为客户端 select 任何可用的服务器,并且由于他们通常会选择不同的服务器,因此流量会被平均分配。您的 ping 命令和 gethostbyname 命令只是 selecting 不同的可用 IP,但 "wrong".

都不是

您可以使用 nslookupdig.

等工具查看给定主机名 returned 的所有 IP