版权声明:未经授权,不得转载。 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.闲谈
不太清楚实用性,但一贯的都是这种方式获取,能用就用吧。