public static String getRequestIp(HttpServletRequest request) throws UnknownHostException {
        String ip = request.getHeader("x-forwarded-for");
        if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("Proxy-Client-IP");
        }
        if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("WL-Proxy-Client-IP");
        }
        if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getRemoteAddr();
            if(ip.equals("127.0.0.1")){
                //根据网卡取本机配置的IP
                InetAddress inetAddress = InetAddress.getLocalHost();

                ip= inetAddress.getHostAddress();
            }
        }
        // 对于通过多个代理的情况，第一个IP为客户端真实IP,多个IP按照','分割
        if(ip != null && ip.length() > 15){
            if(ip.indexOf(",")>0){
                ip = ip.substring(0,ip.indexOf(","));
            }
        }
        //return ip;
        return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : ip;
    }
public static String getRequestIp ( HttpServletRequest request ) throws UnknownHostException { String ip = request . getHeader ( "x-forwarded-for" ) ; if ( ip == null || ip . length ( ) == 0 || "unknown" . equalsIgnoreCase ( ip ) ) { ip = request . getHeader ( "Proxy-Client-IP" ) ; } if ( ip == null || ip . length ( ) == 0 || "unknown" . equalsIgnoreCase ( ip ) ) { ip = request . getHeader ( "WL-Proxy-Client-IP" ) ; } if ( ip == null || ip . length ( ) == 0 || "unknown" . equalsIgnoreCase ( ip ) ) { ip = request . getRemoteAddr ( ) ; if ( ip . equals ( "127.0.0.1" ) ) { InetAddress inetAddress = InetAddress . getLocalHost ( ) ; ip = inetAddress . getHostAddress ( ) ; } } if ( ip != null && ip . length ( ) > 15 ) { if ( ip . indexOf ( "," ) > 0 ) { ip = ip . substring ( 0 , ip . indexOf ( "," ) ) ; } } return "0:0:0:0:0:0:0:1" . equals ( ip ) ? "127.0.0.1" : ip ; }
获取客户端IP地址
@param request 请求
@return ip地址
对于通过多个代理的情况，第一个IP为客户端真实IP,多个IP按照','分割

@throws UnknownHostException [ellipsis]