Python套接字在本地和服务器中返回相同主机名的不同IP地址



我试图从域名获得IP地址,问题是当代码在本地和服务器上运行时,它给出了不同的IP地址。

下面是我的代码和在本地 上运行时的结果
import socket
domain_str="use.typekit.net"
ip = socket.gethostbyname(domain_str.strip())
print(ip)
output > '104.86.189.35'
下面是在服务器 上运行相同代码的结果
output > '62.115.253.9'

如果有人能告诉我为什么会发生这种情况,我将非常感激。

您要访问的服务器位于Akamai CDN的后面。根据您从该CDN连接的位置,可能会为您提供不同的IP地址,以实现最佳连接。

例如我从一个位置得到:

$ dig use.typekit.net
...
use.typekit.net.        121     IN      CNAME   use-stls.adobe.com.edgesuite.net.
use-stls.adobe.com.edgesuite.net. 5853 IN CNAME a1988.dscg1.akamai.net.
a1988.dscg1.akamai.net. 133     IN      A       89.27.242.17
a1988.dscg1.akamai.net. 133     IN      A       89.27.242.41

当从另一个位置

use.typekit.net.        28      IN      CNAME   use-stls.adobe.com.edgesuite.net.
use-stls.adobe.com.edgesuite.net. 21568 IN CNAME a1988.dscg1.akamai.net.
a1988.dscg1.akamai.net. 5       IN      A       104.114.77.65
a1988.dscg1.akamai.net. 5       IN      A       104.114.77.32

如果你对这些地址进行GeoIP查找,你会看到你的一个地址位于印度,而另一个位于瑞典。

最新更新