簡體   English   中英

Python 套接字在本地和服務器中為同一主機名返回不同的 IP 地址

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM