IP地址获取

来源:互联网 发布:java web 进度条实现 编辑:程序博客网 时间:2024/06/04 16:30
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();}  }

原创粉丝点击