获取请求方的真实ip

版权声明:未经授权,不得转载。 https://blog.csdn.net/soulsda/article/details/83687174

1.介绍

   多次转发过来的请求获取第一次请求的ip,大概是每次转发都会把初始的请求ip放到请求头之类的地方,大概是这样吧。

    protected String getIpFromRequest(HttpServletRequest request) {
        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();
        }
        return ip.equals("0:0:0:0:0:0:0:1")?"127.0.0.1":ip;
    }

2.闲谈

   不太清楚实用性,但一贯的都是这种方式获取,能用就用吧。

猜你喜欢

转载自blog.csdn.net/soulsda/article/details/83687174