Java 获取本机的外网ip
在 Java 中获取本机的外网 IP 地址涉及到访问网络和系统环境的操作。一般来说,获取本机的外网 IP 地址需要通过访问网络接口或者使用外部服务来获取。以下是两种常见的获取外网 IP 地址的方法:
方法一:通过访问外部服务获取 IP 地址
可以利用一些提供外网 IP 地址查询的服务来获取本机的外网 IP 地址,例如使用 HTTP 请求的方式获取服务端返回的 IP 地址。
javaimport java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
public class ExternalIPExample {
public static void main(String[] args) {
try {
URL url = new URL("http://checkip.amazonaws.com");
BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
String externalIP = br.readLine().trim();
System.out.println("External IP address: " + externalIP);
} catch (IOException e) {
e.printStackTrace();
}
}
}
方法二:使用第三方服务或库
还可以使用一些第三方 Java 库来获取外网 IP 地址,例如使用 Apache HttpClient 或者 OkHttp 发送 HTTP 请求获取外网 IP 地址。
javaimport okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;
public class ExternalIPExample {
public static void main(String[] args) {
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("http://checkip.amazonaws.com")
.build();
try {
Response response = client.newCall(request).execute();
String externalIP = response.body().string().trim();
System.out.println("External IP address: " + externalIP);
} catch (IOException e) {
e.printStackTrace();
}
}
}
关键字:
Java, 获取外网IP, HTTP请求, 外部服务
通过以上方法,你可以在 Java 中获取本机的外网 IP 地址,适用于需要知道本机公网 IP 地址的各种应用场景。