Java 获取本地电脑公网 IP 地址的实现

在现代软件开发中,获取本地计算机的公网 IP 地址是一个常见的需求,特别是在构建网络应用时。作为一名刚入行的小白,学习如何通过 Java 程序获取本地的公网 IP 地址是一个不错的入门项目。本文将详细讲解整个流程,并提供相应的代码示例。

流程概述

在实现“获取公网 IP 地址”这一功能的过程中,我们可以将整个实现过程划分为以下几个步骤:

步骤 描述
1 选择合适的 API 获取公网 IP 地址
2 使用 Java 发送 HTTP 请求
3 解析返回的结果
4 输出公网 IP 地址

每一步的详细实现

步骤 1:选择合适的 API 获取公网 IP 地址

我们可以使用一些公开的 API 来获取公网 IP 地址,比较常见的有:

在本例中,我们选择使用 `

步骤 2:使用 Java 发送 HTTP 请求

我们将使用 Java 中的 HttpURLConnection 类来发送 HTTP 请求。可以使用以下代码:

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

public class PublicIPFetcher {
    
    public static String getPublicIP() {
        String ip = null;
        try {
            // 创建一个URL对象,指向我们的API
            URL url = new URL("
            // 打开连接
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            
            // 获取响应码,200表示成功
            if (connection.getResponseCode() == 200) {
                // 创建BufferedReader读取输入流
                BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                // 读取返回的IP地址
                ip = in.readLine();
                in.close(); // 关闭BufferedReader
            }
        } catch (IOException e) {
            e.printStackTrace(); // 打印异常信息
        }
        return ip; // 返回获取到的IP地址
    }

    public static void main(String[] args) {
        System.out.println("Your Public IP: " + getPublicIP());
    }
}
代码说明
  1. 导入必要的类

    • BufferedReader, InputStreamReaderHttpURLConnection 是连接和读取网络数据所需的类。
  2. 定义 getPublicIP 方法

    • 创建 URL 对象,指向公网 IP 获取的 API。
    • 打开连接并设置请求方法为 GET
    • 如果响应码为 200(即请求成功),则读取输入流并提取结果。
  3. **在 main 方法中调用 getPublicIP**:

    • 输出获取的公网 IP 地址。

步骤 3:解析返回的结果

在上面的代码中,返回的结果已经在 BufferedReader 中读取并直接存储为 ip 字符串。当我们成功获取 IP 地址后,直接返回该值。

步骤 4:输出公网 IP 地址

main 方法中,我们直接打印了返回的公网 IP 地址。

类图

下面是类图的 Mermeid 语法表示:

classDiagram
    class PublicIPFetcher {
        +String getPublicIP()
        +static void main(String[] args)
    }

说明

  • PublicIPFetcher 类包含两个方法,一个是 getPublicIP,用于获取公网 IP 地址,另一个是 main 方法,用于程序的入口。

结尾

通过以上步骤,你已经掌握了如何使用 Java 获取本地电脑的公网 IP 地址的基本实现。这个过程不仅可以帮助你理解网络编程的基础,还可以让你对 Java 的 I/O 操作有更深入的理解。随着你不断深入学习编程,你将能了解到更多与网络相关的技术和工具,在此基础上构建更复杂的应用。

总结来说,获取公网 IP 地址的方法很简单,主要通过调用 HTTP API 并解析响应来实现。希望你能在这个过程中收获更多的编程技巧与经验,欢迎继续深入探索 Java 编程的世界!