簡體   English   中英

關於按名稱獲取IP地址

[英]About getting IP address by name

我想驗證有關InetAddress.getByName(String)的一件事。

例如,有一個應用程序向其服務器發送請求,該服務器名為www.coolapp.com ,我可以通過以下方式獲取該服務器的IP地址:

String serverIp = InetAddress.getByName("www.coolapp.com");

但是,如果該應用程序設計為可在地理位置上連接到其他服務器,那么該功能是否返回與主機名相同的“ www.coolapp.com”相同的應用程序所連接服務器的IP?

例如,我在歐洲使用該應用程序,它連接到德國的服務器,服務器主機名是“ www.coolapp.com”,IP是182.12.12.12。 然后,如果我去日本旅行,該應用程序將連接到“ www.coolapp.com”。IP為123.13.13.13 API是否會根據地理位置返回相應的IP?

InetAddress.getByName()執行DNS查詢,因此適用DNS規則。

在DNS中,您可以在不同的地理位置獲得不同的IP。 但是,DNS還允許每個一個DNS名稱鏈接定義更多IP 在這種情況下,大多數DNS解析器在地址之間交替,因此即使在一個象形位置,您也可能在兩個連續的查詢中獲得不同的IP。 這可能導致您無法獲得已連接到的IP。

請注意,這可能會受到途中或計算機上任何緩存的影響。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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