[英]Python socket returning different IP address for the same host name in local and server
我試圖從域名中獲取 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 查找,您會看到其中一個地址位於印度,而另一個地址位於瑞典。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.