欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

获取本机的IP地址(去除127.0.0.1)

程序员文章站 2022-03-26 12:13:29
...

/**

 * Created by zhangyan on 2017/8/31.

 */

public class IpTool {

 

    private static final Logger LOG = Logger.getLogger(IpTool.class);

 

    public static String getLocalInet4Address() throws BaseException{

        try {

            Enumeration allNetInterfaces = NetworkInterface.getNetworkInterfaces();

            InetAddress ipAddress = null;

            String ip = null;

            while (allNetInterfaces.hasMoreElements())

            {

                NetworkInterface netInterface = (NetworkInterface) allNetInterfaces.nextElement();

                //System.out.println(netInterface.getName());

                Enumeration addresses = netInterface.getInetAddresses();

                while (addresses.hasMoreElements())

                {

                    ipAddress = (InetAddress) addresses.nextElement();

                    if (ipAddress != null && ipAddress instanceof Inet4Address)

                    {

                        if( ipAddress.getHostAddress().equals("127.0.0.1")){

                            continue;

                        }else{

                            ip =  ipAddress.getHostAddress();

                            System.out.println("本机的IP = " + ipAddress.getHostAddress());

                        }

                    }

                }

            }

            return ip;

        } catch (SocketException e) {

            LOG.error("【IpTool.getLocalInet4Address】获取IP地址异常");

            throw new BaseException(Code.GET_IP_ERROR);

        }

    }

}

 

相关标签: ip