/** * 获取请求的来源ip * * @param request 请求 * @return ip */ public static String getIpAddress(HttpServletRequest request) { String xip = request.getHeader("X-Real-IP"); String xFor = request.getHeader("X-Forwarded-For"); if (!StringUtils.isEmpty(xFor) && !"unKnown".equalsIgnoreCase(xFor)) { //多次反向代理后会有多个ip值,第一个ip才是真实ip int index = xFor.indexOf(","); if (index != -1) { return xFor.substring(0, index); } else { return xFor; } } xFor = xip; if (!StringUtils.isEmpty(xFor) && !"unKnown".equalsIgnoreCase(xFor)) { return xFor; } if (StringUtils.isEmpty(xFor) || "unknown".equalsIgnoreCase(xFor)) { xFor = request.getHeader("Proxy-Client-IP"); } if (StringUtils.isEmpty(xFor) || "unknown".equalsIgnoreCase(xFor)) { xFor = request.getHeader("WL-Proxy-Client-IP"); } if (StringUtils.isEmpty(xFor) || "unknown".equalsIgnoreCase(xFor)) { xFor = request.getHeader("HTTP_CLIENT_IP"); } if (StringUtils.isEmpty(xFor) || "unknown".equalsIgnoreCase(xFor)) { xFor = request.getHeader("HTTP_X_FORWARDED_FOR"); } if (StringUtils.isEmpty(xFor) || "unknown".equalsIgnoreCase(xFor)) { xFor = request.getRemoteAddr(); } return xFor; }
Java:获取请求中的来源ip
最新推荐文章于 2024-08-06 10:22:43 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)