首页 > 技术文章 > Java获取本机IP

frankyou 2017-05-12 16:43 原文

try {
    Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
    while (interfaces.hasMoreElements()) {
        NetworkInterface iface = interfaces.nextElement();
        if (iface.isLoopback() || !iface.isUp()) {
            continue;
        }
        Enumeration<InetAddress> addresses = iface.getInetAddresses();
        while (addresses.hasMoreElements()) {
            InetAddress addr = addresses.nextElement();
            if (addr instanceof Inet6Address) {
                continue;
            }
            ip = addr.getHostAddress();
        }
    }
    } catch (SocketException e) {
    LoggerUtils.error(String.format("获取本机IP异常:%s", e.getStackTrace()), null);
    ip = "127.0.0.1";
}

 

推荐阅读