美文网首页
Java 获取客户端的真实IP

Java 获取客户端的真实IP

作者: 忘记_3a6a | 来源:发表于2019-11-11 20:19 被阅读0次
     private String getIpAddr(HttpServletRequest request) {
            String ip = request.getHeader("x-forwarded-for"); 
            System.out.println("x-forwarded-for ip: " + ip);
            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");  
                System.out.println("Proxy-Client-IP ip: " + ip);
            }  
            if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {  
                ip = request.getHeader("WL-Proxy-Client-IP");  
                System.out.println("WL-Proxy-Client-IP ip: " + ip);
            }  
            if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {  
                ip = request.getHeader("HTTP_CLIENT_IP");  
                System.out.println("HTTP_CLIENT_IP ip: " + ip);
            }  
            if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {  
                ip = request.getHeader("HTTP_X_FORWARDED_FOR");  
                System.out.println("HTTP_X_FORWARDED_FOR ip: " + ip);
            }  
            if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {  
                ip = request.getHeader("X-Real-IP");  
                System.out.println("X-Real-IP ip: " + ip);
            }  
            if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {  
                ip = request.getRemoteAddr();  
                System.out.println("getRemoteAddr ip: " + ip);
            } 
            System.out.println("获取客户端ip: " + ip);
            return ip;  
        }
    

    相关文章

      网友评论

          本文标题:Java 获取客户端的真实IP

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