/** * 多IP处理,可以得到最终ip * * @return */ public String getIP() { String localip = null;// 本地IP,如果没有配置外网IP则返回它 String netip = null;// 外网IP try { Enumeration<NetworkInterface> netInterfaces = NetworkInterface.getNetworkInterfaces(); InetAddress ip = null; boolean finded = false;// 是否找到外网IP while (netInterfaces.hasMoreElements() && !finded) { NetworkInterface ni = netInterfaces.nextElement(); Enumeration<InetAddress> address = ni.getInetAddresses(); while (address.hasMoreElements()) { ip = address.nextElement(); if (!ip.isSiteLocalAddress() && !ip.isLoopbackAddress() && ip.getHostAddress().indexOf(":") == -1) {// 外网IP netip = ip.getHostAddress(); finded = true; break; } else if (ip.isSiteLocalAddress() && !ip.isLoopbackAddress() && ip.getHostAddress().indexOf(":") == -1) {// 内网IP localip = ip.getHostAddress(); } } } } catch (SocketException e) { logger.error("获取本机IP异常", e); } if (netip != null && !"".equals(netip)) { return netip; } else { return localip; } }
java 获取IP地址(要是安装了虚拟机之类的软件可能不准确)
猜你喜欢
转载自blog.csdn.net/keplerpig/article/details/78740583
今日推荐
周排行