Java 获取本机本地 IP 地址

可显示本地 IP,例如 192.168.0.1

Java 获取本机本地 IP 地址
public static InetAddress getLocalHostLANAddress() throws Exception {
    try {
        InetAddress candidateAddress = null;
        // 遍历所有的网络接口
        for (Enumeration ifaces = NetworkInterface.getNetworkInterfaces(); ifaces.hasMoreElements();) {NetworkInterface iface = (NetworkInterface) ifaces.nextElement();
            // 在所有的接口下再遍历 IP
            for (Enumeration inetAddrs = iface.getInetAddresses(); inetAddrs.hasMoreElements();) {InetAddress inetAddr = (InetAddress) inetAddrs.nextElement();
                if (!inetAddr.isLoopbackAddress()) {// 排除 loopback 类型地址
                    if (inetAddr.isSiteLocalAddress()) {
                        // 如果是 site-local 地址,就是它了
                        return inetAddr;
                    } else if (candidateAddress == null) {
                        // site-local 类型的地址未被发现,先记录候选地址
                        candidateAddress = inetAddr;
                    }
                }
            }
        }
        if (candidateAddress != null) {return candidateAddress;}
        // 如果没有发现 non-loopback 地址. 只能用最次选的方案
        InetAddress jdkSuppliedAddress = InetAddress.getLocalHost();
        return jdkSuppliedAddress;
    } catch (Exception e) {e.printStackTrace();
    }
    return null;
}

手机扫描二维码访问

本文标题:《Java 获取本机本地 IP 地址》作者:极四维博客
原文链接:https://cway.top/post/866.html
特别注明外均为原创,转载请注明。

分享到微信

扫描二维码

可在微信查看或分享至朋友圈。

相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年10月    »
123456
78910111213
14151617181920
21222324252627
28293031

搜索

控制面板

您好,欢迎到访网站!
  查看权限

最新留言

文章归档

  • 订阅本站的 RSS 2.0 新闻聚合