package demo.sort;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.util.Enumeration;
public class WebToolUtils {
/**
* 获取本地IP地址
*
* @throws Exception
*/
public static String getLocalIP() throws Exception {
// if (isWindowsOS()) {
// return InetAddress.getLocalHost().getHostAddress();
// } else {
// return getLinuxLocalIp();
// }
try{
Enumeration
while (allNetInterfaces.hasMoreElements()){
NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();
Enumeration
while (addresses.hasMoreElements()){
InetAddress ip = (InetAddress) addresses.nextElement();
if (ip != null
&& ip instanceof Inet4Address
&& !ip.isLoopbackAddress() //loopback地址即本机地址,IPv4的loopback范围是127.0.0.0 ~ 127.255.255.255
&& ip.getHostAddress().indexOf(":")==-1){
return ip.getHostAddress();
}
}
}
}catch(Exception e){
e.printStackTrace();
}
return null;
}
/**
* 获取Linux下的IP地址
*
* @return IP地址
* @throws Exception
*/
private static String getLinuxLocalIp() throws Exception {
String ip = "";
try {
for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) {
NetworkInterface intf = en.nextElement();
String name = intf.getName();
if (!name.contains("docker") && !name.contains("lo")) {
for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements(); ) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress()) {
String ipaddress = inetAddress.getHostAddress().toString();
if (!ipaddress.contains("::") && !ipaddress.contains("0:0:") && !ipaddress.contains("fe80")) {
ip = ipaddress;
// System.out.println(ipaddress);
}
}
}
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
return ip;
}
/**
* 判断操作系统是否是Windows
*
* @return
*/
public static boolean isWindowsOS() {
boolean isWindowsOS = false;
String osName = System.getProperty("os.name");
if (osName.toLowerCase().indexOf("windows") > -1) {
isWindowsOS = true;
}
return isWindowsOS;
}
public static void main(String[] args) throws Exception {
System.out.println(getLocalIP());
System.out.println(getLinuxLocalIp());
}
}
标签:Exception,return,String,ip,NetworkInterface,地址,&& From: https://www.cnblogs.com/kaka-qiqi/p/16978513.html