zoukankan      html  css  js  c++  java
  • 请求ip获取工具类

    package com.panchan.m2.utils;
    
    import java.net.InetAddress;
    import java.net.NetworkInterface;
    import java.net.SocketException;
    import java.util.Enumeration;
    
    /**
     * 工具类获取请求ip
     * @author panchankeji.hu
     *
     */
    public class ServerIPConfigUtil {
        public static String getLocalIPForJava() {
            StringBuilder sb = new StringBuilder();
            try {
                Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces();
                while (en.hasMoreElements()) {
                    NetworkInterface intf = (NetworkInterface) en.nextElement();
                    Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses();
                    while (enumIpAddr.hasMoreElements()) {
                        InetAddress inetAddress = (InetAddress) enumIpAddr.nextElement();
    //                        if (!inetAddress.isLoopbackAddress()&& !inetAddress.isLinkLocalAddress()&& inetAddress.isSiteLocalAddress()) {
                        if (!inetAddress.isLoopbackAddress()) {
                            String ipAddress = inetAddress.getHostAddress().toString();
                            if (ipAddress.startsWith("192.168")) {
                                sb.append(ipAddress);
                            }
    //                            sb.append("|");
                        }
                    }
                }
            } catch (SocketException e) {
            }
            return sb.toString();
        }
    
        public static String getLocalRealIP() {
            StringBuilder sb = new StringBuilder();
            try {
                Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces();
                while (en.hasMoreElements()) {
                    NetworkInterface intf = (NetworkInterface) en.nextElement();
                    Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses();
                    while (enumIpAddr.hasMoreElements()) {
                        InetAddress inetAddress = (InetAddress) enumIpAddr.nextElement();
    //                        if (!inetAddress.isLoopbackAddress()&& !inetAddress.isLinkLocalAddress()&& inetAddress.isSiteLocalAddress()) {
                        if (!inetAddress.isLoopbackAddress()) {
                            String ipAddress = inetAddress.getHostAddress().toString();
                            sb.append(ipAddress);
    //                            sb.append("|");
                        }
                    }
                }
            } catch (SocketException e) {
            }
            return sb.toString();
        }
    
    
        /**
         * 获取服务器IP地址
         *
         * @return
         */
        @SuppressWarnings("unchecked")
        public static String getServerIp(){
            String SERVER_IP = null;
            try {
                InetAddress address = InetAddress.getLocalHost();
                SERVER_IP=address.getHostAddress();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return SERVER_IP;
        }
    }
  • 相关阅读:
    子网掩码
    linux中grep工具
    C#尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
    c#常用的Datable转换为json,以及json转换为DataTable操作方法
    easyui-从数据库读取创建无极菜单
    wpf 进度条 下拉
    进度条与执行过程
    属性表格 datagridproperty
    Jquery easyui开启行编辑模式增删改操作
    asp.net (jquery easy-ui datagrid)通用Excel文件导出(NPOI)
  • 原文地址:https://www.cnblogs.com/huyanlon/p/10641188.html
Copyright © 2011-2022 走看看