package com.xxx.xxx.address;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @Description: IP地址获取
*/
public class IPAddress {
protected static Logger log = LoggerFactory.getLogger(IPAddress.class);
public static String find() {
List<String> ips = new ArrayList<String>();
Enumeration<?> allNetInterfaces = null;
try {
allNetInterfaces = NetworkInterface.getNetworkInterfaces();
} catch (SocketException e) {
log.error(e.getMessage(),e);
}
InetAddress ip = null;
while (allNetInterfaces.hasMoreElements()) {
NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();
Enumeration<InetAddress> addresses = netInterface.getInetAddresses();
while (addresses.hasMoreElements()) {
ip = (InetAddress) addresses.nextElement();
if (ip != null && ip instanceof Inet4Address && ip.getHostAddress().indexOf(".") != -1) {
ips.add(ip.getHostAddress());
}
}
}
if(ips.size()==1){
return ips.get(0);
}
else{
for (String ipa : ips) {
if(!"127.0.0.1".equals(ipa)){
return ipa;
}
}
}
return MacAddress.find();
}
}
IP地址获取
最新推荐文章于 2024-03-08 11:13:31 发布