Java 程序获取本机 IP 地址

Servlet 中获取本机 IP 地址
web 应用中获取本机 IP 地址

获取的 IP 地址 Java 代码

public static void main(String[] args) throws Exception {
    InetAddress address = InetAddress.getLocalHost();
    // 获取本机 IP 地址
    String host = address.getHostAddress();
    System.err.println(host);
}

输出结果
在这里插入图片描述

注意

这种方式获取的 IP 地址会受本机虚拟网卡的影响, 例如: 本机安装的 VMware 则有可能会获取到 VMware 的虚拟网卡

获取所有网卡 IP

说明

这种方式会将本机所有的网卡对应的 IP 地址都读取到, 包括虚拟网卡的也能读取到

public static List<String> getLocalIPList() {
    List<String> ipList = new ArrayList<String>();
    try {
        Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
        NetworkInterface networkInterface;
        Enumeration<InetAddress> inetAddresses;
        InetAddress inetAddress;
        String ip;
        while (networkInterfaces.hasMoreElements()) {
            networkInterface = networkInterfaces.nextElement();
            inetAddresses = networkInterface.getInetAddresses();
            while (inetAddresses.hasMoreElements()) {
                inetAddress = inetAddresses.nextElement();
                if (inetAddress != null && inetAddress instanceof Inet4Address) { // IPV4
                    ip = inetAddress.getHostAddress();
                    ipList.add(ip);
                }
            }
        }
    } catch (SocketException e) {
        e.printStackTrace();
    }
    return ipList;
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值