实现Java本机外网IP的方法

1. 整体流程

获取本机IP 获取外网IP 输出结果

2. 步骤及代码示例

步骤1:获取本机IP

首先,我们需要获取本机的IP地址。在Java中,可以通过InetAddress类来实现。

// 获取本机IP地址
InetAddress localHost = InetAddress.getLocalHost();
String localIP = localHost.getHostAddress();
  • 1.
  • 2.
  • 3.
  • InetAddress.getLocalHost():获取本机的InetAddress对象
  • localHost.getHostAddress():获取本机IP地址的字符串形式
步骤2:获取外网IP

接下来,我们需要通过网络请求的方式获取外网IP地址。这里我们可以使用一个公共的API来获取外网IP。

// 通过网络请求获取外网IP地址
URL url = new URL("
URLConnection connection = url.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String externalIP = in.readLine();
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • `new URL("
  • url.openConnection():打开与URL的连接
  • new BufferedReader(new InputStreamReader(connection.getInputStream())):创建一个输入流,用于获取API响应数据
  • in.readLine():读取API响应数据中的外网IP地址
步骤3:输出结果

最后,我们将获取到的本机IP和外网IP地址输出到控制台。

// 输出结果
System.out.println("本机IP地址:" + localIP);
System.out.println("外网IP地址:" + externalIP);
  • 1.
  • 2.
  • 3.

3. 完整代码示例

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

public class GetIPAddress {
    public static void main(String[] args) throws IOException {
        // 获取本机IP地址
        InetAddress localHost = InetAddress.getLocalHost();
        String localIP = localHost.getHostAddress();

        // 通过网络请求获取外网IP地址
        URL url = new URL("
        URLConnection connection = url.openConnection();
        BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        String externalIP = in.readLine();

        // 输出结果
        System.out.println("本机IP地址:" + localIP);
        System.out.println("外网IP地址:" + externalIP);
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.

通过以上步骤,你可以成功获取本机的IP地址和外网的IP地址。如果有任何疑问,欢迎随时向我提问。祝你在学习Java的路上一帆风顺!