获取本机ip地址
作者:
我不懂我不懂a | 来源:发表于
2020-08-06 11:05 被阅读0次 public static String getLocalIpAddr() {
String clientIP = null;
Enumeration<NetworkInterface> networks = null;
try {
//获取所有网卡设备
networks = NetworkInterface.getNetworkInterfaces();
if (networks == null) {
//没有网卡设备 打印日志 返回null结束
return null;
}
} catch (SocketException e) {
System.out.println(e.getMessage());
}
InetAddress ip;
Enumeration<InetAddress> addrs;
// 遍历网卡设备
while (networks.hasMoreElements()) {
NetworkInterface ni = networks.nextElement();
try {
//过滤掉 loopback设备、虚拟网卡
if (!ni.isUp() || ni.isLoopback() || ni.isVirtual()) {
continue;
}
} catch (SocketException e) {
}
addrs = ni.getInetAddresses();
if (addrs == null) {
continue;
}
// 遍历InetAddress信息
while (addrs.hasMoreElements()) {
ip = addrs.nextElement();
if (!ip.isLoopbackAddress() && ip.isSiteLocalAddress() && ip.getHostAddress().indexOf(":") == -1) {
try {
clientIP = ip.toString().split("/")[1];
} catch (ArrayIndexOutOfBoundsException e) {
clientIP = null;
}
}
}
}
return clientIP;
}
本文标题:获取本机ip地址
本文链接:https://www.haomeiwen.com/subject/ufdzrktx.html
网友评论