如何通过Java获取本机公网IP

流程

下面是获取本机公网IP的步骤:

步骤 描述
1 发送HTTP请求到查询IP的API
2 从API的响应中解析出公网IP

具体步骤及代码实现

步骤1:发送HTTP请求到查询IP的API

首先,我们需要发送一个HTTP请求到一个可以查询公网IP的API,这里我们选择了httpbin.org这个免费的API。

import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;

// 创建URL对象
URL url = new URL("
// 打开连接
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
// 设置请求方法为GET
conn.setRequestMethod("GET");

// 读取API的响应
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
StringBuilder response = new StringBuilder();
while ((line = reader.readLine()) != null) {
    response.append(line);
}
reader.close();

String jsonResponse = response.toString();

步骤2:从API的响应中解析出公网IP

接着,我们需要从API的响应中解析出公网IP,这里我们可以使用json库来解析JSON格式的响应。

import org.json.JSONObject;

// 将API响应解析为JSON对象
JSONObject json = new JSONObject(jsonResponse);
// 获取公网IP字段的值
String publicIP = json.getString("origin");

System.out.println("本机公网IP地址为:" + publicIP);

sequenceDiagram

sequenceDiagram
    participant 小白
    participant API
    participant 本机

    小白->>API: 发送HTTP请求
    API-->>小白: 返回IP地址
    小白->>本机: 解析IP地址
    本机-->>小白: 返回公网IP

引用形式的描述信息

通过以上步骤,你可以成功获取本机的公网IP地址了。记得在使用httpbin.org这个API时要遵守他们的使用规定,不要频繁请求以造成不必要的压力。希望这篇文章可以帮助到你,祝你学习顺利!

结尾

在教会小白之后,你不仅帮助他解决了问题,也巩固了自己的知识。分享知识是一件有意义的事情,希望你在以后的工作和学习中能够继续这样做,让技术的世界更加美好!如果你有任何疑问或者想进一步了解其他技术问题,欢迎随时与我联系。祝你一切顺利!