获取本机真实ip地址,非127.0.0.1 非169.254链路本地地址。
原文地址:https://blog.csdn.net/yu532164710/article/details/80118118
详解说明:https://cloud.tencent.com/developer/article/1610919
public static void getLocalAddress(){
StringBuilder sb = new StringBuilder();
try {
Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces();//获取本地所有网络接口
while (en.hasMoreElements()) {//遍历枚举中的每一个元素
NetworkInterface ni= en.nextElement();
Enumeration<InetAddress> enumInetAddr = ni.getInetAddresses();
while (enumInetAddr.hasMoreElements()) {
InetAddress inetAddress = enumInetAddr.nextElement();
// 排除loopback回环类型地址和链路本地地址
if (!inetAddress.isLoopbackAddress() && !inetAddress.isLinkLocalAddress()
&& inetAddress.isSiteLocalAddress()) {
sb.append("name:" + inetAddress.getHostName().toString()+"\n");
sb.append("ip:" + inetAddress.getHostAddress().toString()+"\n");
}
}
}
} catch (SocketException e) {
e.printStackTrace();
}
System.out.println(sb.toString());
}