zoukankan      html  css  js  c++  java
  • 获取主机ip地址

      Linux或windows的ip地址

    import java.net.InetAddress;
    import java.net.NetworkInterface;
    import java.net.SocketException;
    import java.net.UnknownHostException;
    import java.util.Enumeration;
    
    /**
     * 
     * @author LiCJ
     *    @date 2017.04.12
     */
    public class WebTools {
        /**
         * 获取本地IP地址
         * @return
         * @throws UnknownHostException
         * @throws SocketException
         */
         public static String getLocalIP() throws UnknownHostException, SocketException {
                if (isWindowsOS()) {
                    return InetAddress.getLocalHost().getHostAddress();
                } else {
                    return getLinuxLocalIp();
                }
            }
         /**
          * 获取本地Host名称
          * @return
          * @throws UnknownHostException
          */
            public static String getLocalHostName() throws UnknownHostException {
                return InetAddress.getLocalHost().getHostName();
            }
         /**
          *  获取Linux下的IP地址
          * @return
          */
        private static String getLinuxLocalIp() {
             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;
                                    }
                                }
                            }
                        }
                    }
                } catch (SocketException ex) {
                    ex.printStackTrace();
                }
                return ip;
        }
    /**
     * 判断操作系统是否是Windows
     * @return
     */
        private static boolean isWindowsOS() {
            boolean isWindowsOS = false;
            String osName = System.getProperty("os.name");
            if (osName.toLowerCase().indexOf("windows") > -1) {
                isWindowsOS = true;
            }
            return isWindowsOS;
        }
    }
  • 相关阅读:
    Python代写使用矩阵分解法找到类似的音乐
    (转)语义分析透镜洞察婚庆微博用户行为数据
    (转)虎扑论坛基因探秘:社群用户行为数据洞察
    bzoj 4922: [Lydsy1706月赛]Karp-de-Chant Number 贪心+dp
    bzoj 1110: [POI2007]砝码Odw 贪心
    bzoj 3721: PA2014 Final Bazarek 贪心
    bzoj 2563: 阿狸和桃子的游戏 贪心
    bzoj 3999: [TJOI2015]旅游 LCT
    bzoj 4240: 有趣的家庭菜园 树状数组+贪心
    CF369E Valera and Queries kdtree
  • 原文地址:https://www.cnblogs.com/woftlcj/p/6700515.html
Copyright © 2011-2022 走看看