美文网首页
获取真实ip地址

获取真实ip地址

作者: 皮卡川 | 来源:发表于2018-05-29 14:09 被阅读0次
public String getIpAddress(HttpServletRequest request){      
    String ip = request.getHeader("x-forwarded-for");    
    if (ip != null && ip.length() != 0 && !"unknown".equalsIgnoreCase(ip)) {
        // 多次反向代理后会有多个ip值,第一个ip才是真实ip
        if( ip.indexOf(",")!=-1 ){
            ip = ip.split(",")[0];
        }
    }  
    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.getHeader("HTTP_CLIENT_IP");      
    }      
    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {      
        ip = request.getHeader("HTTP_X_FORWARDED_FOR");      
    }      
    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
        ip = request.getHeader("X-Real-IP");
    }
    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {      
        ip = request.getRemoteAddr();      
    }      
    return ip;      
}

相关文章

网友评论

      本文标题:获取真实ip地址

      本文链接:https://www.haomeiwen.com/subject/djxajftx.html