我一直在经历这么多的计算器答案,没有准确地回答我的问题。Java获取发布的外部IP地址?
我的问题是,我怎么能得到我真正的互联网外部IP地址,而不是本地的,但我发布的IP地址,其他人看到&连接到?
例如:84.110.208.20 而不是。 198.168.2.101
目前imposing来自whatismyip.com的IP地址,但这需要几秒钟,因为我必须缓冲读取它。
有没有办法做到这一点,而不从网站读取IP?
我一直在经历这么多的计算器答案,没有准确地回答我的问题。Java获取发布的外部IP地址?
我的问题是,我怎么能得到我真正的互联网外部IP地址,而不是本地的,但我发布的IP地址,其他人看到&连接到?
例如:84.110.208.20 而不是。 198.168.2.101
目前imposing来自whatismyip.com的IP地址,但这需要几秒钟,因为我必须缓冲读取它。
有没有办法做到这一点,而不从网站读取IP?
我不知道你的问题的解决方案,你要求,但我试过你的解决方案,我没有得到像你一样的“几秒钟”的延迟,所以我决定分享我的解决方案:
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比较慢,或者有更多的信息需要解析?
正如你所看到的,你正在使用读取器来获取IP,我在问是否可以在不使用任何网站的情况下获得IP。 – Artemkller545
不是。您必须直接访问防火墙并查询其外部IP。这可能不可行。 – Paladine
你有什么样的路由器?你必须连接到你的路由器,并将信息提取出来。 –