@GetMapping("/selectIp")
public HashMap<String, String> selectIp() {
String ipHostAddress = "";
try {
Enumeration<NetworkInterface> allNetInterfaces = NetworkInterface.getNetworkInterfaces();
while (allNetInterfaces.hasMoreElements()) {
NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();
Enumeration<InetAddress> addresses = netInterface.getInetAddresses();
while (addresses.hasMoreElements()) {
InetAddress ip = (InetAddress) addresses.nextElement();
if (ip instanceof Inet4Address
&& !ip.isLoopbackAddress() //loopback地址即本机地址,IPv4的loopback范围是127.0.0.0 ~ 127.255.255.255
&& !ip.getHostAddress().contains(":")) {
logger.info("本机的IP = " + ip.getHostAddress());
ipHostAddress = ip.getHostAddress();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
HashMap<String, String> hashMap = new HashMap<>();
hashMap.put("ip", ipHostAddress);
return hashMap;
}
参考链接:https://blog.csdn.net/u010295735/article/details/74645653