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

exdqitrt  于 2023-01-04  发布在  Python
关注(0)|答案(1)|浏览(124)

我试图从域名获得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'

如果有人能告诉我为什么会这样,我将非常感激。

6tdlim6h

6tdlim6h1#

您尝试访问的服务器位于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 lookup操作,您将看到其中一个地址位于印度,而另一个地址位于瑞典。

相关问题