Java 获取本机的外网ip

在 Java 中获取本机的外网 IP 地址涉及到访问网络和系统环境的操作。一般来说,获取本机的外网 IP 地址需要通过访问网络接口或者使用外部服务来获取。以下是两种常见的获取外网 IP 地址的方法:

方法一:通过访问外部服务获取 IP 地址

可以利用一些提供外网 IP 地址查询的服务来获取本机的外网 IP 地址,例如使用 HTTP 请求的方式获取服务端返回的 IP 地址。

java
import 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 地址。

java
import 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 地址的各种应用场景。