gpt4 book ai didi

java - 用Java获取 'external' IP地址

转载 作者:IT老高 更新时间:2023-10-28 11:45:07 28 4
gpt4 key购买 nike

我不太清楚如何获取机器的外部 IP 地址,因为网络外部的计算机会看到它。

我下面的 IPAddress 类只获取机器的本地 IP 地址。

public class IPAddress {

private InetAddress thisIp;

private String thisIpAddress;

private void setIpAdd() {
try {
InetAddress thisIp = InetAddress.getLocalHost();
thisIpAddress = thisIp.getHostAddress().toString();
} catch (Exception e) {
}
}

protected String getIpAddress() {
setIpAdd();
return thisIpAddress;
}
}

最佳答案

我不确定您是否可以从本地机器上运行的代码中获取该 IP。

但是,您可以构建在网站上运行的代码,比如在 JSP 中,然后使用返回请求来源 IP 的东西:

request.getRemoteAddr()

或者简单地使用已经存在的服务,然后从服务中解析答案以找出 IP。

使用 AWS 等网络服务

import java.net.*;
import java.io.*;

URL whatismyip = new URL("http://checkip.amazonaws.com");
BufferedReader in = new BufferedReader(new InputStreamReader(
whatismyip.openStream()));

String ip = in.readLine(); //you get the IP as a String
System.out.println(ip);

关于java - 用Java获取 'external' IP地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2939218/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com