2014-01-07 255 views
0

我一直在經歷這麼多的計算器答案,沒有準確地回答我的問題。Java獲取發佈的外部IP地址?

我的問題是,我怎麼能得到我真正的互聯網外部IP地址,而不是本地的,但我發佈的IP地址,其他人看到&連接到?

例如:84.110.208.20 而不是。 198.168.2.101

目前imposing來自whatismyip.com的IP地址,但這需要幾秒鐘,因爲我必須緩衝讀取它。

有沒有辦法做到這一點,而不從網站讀取IP?

+0

你有什麼樣的路由器?你必須連接到你的路由器,並將信息提取出來。 –

回答

1

我不知道你的問題的解決方案,你要求,但我試過你的解決方案,我沒有得到像你一樣的「幾秒鐘」的延遲,所以我決定分享我的解決方案:

public static String getIp() throws IOException{ 
    URL whatismyip = new URL("http://icanhazip.com"); 
    BufferedReader in = new BufferedReader(new InputStreamReader(whatismyip.openStream())); 
    return in.readLine(); 
} 

也許whatismyip.com比較慢,或者有更多的信息需要解析?

+0

正如你所看到的,你正在使用讀取器來獲取IP,我在問是否可以在不使用任何網站的情況下獲得IP。 – Artemkller545

+2

不是。您必須直接訪問防火牆並查詢其外部IP。這可能不可行。 – Paladine