-
客户端直接连接服务器
public String getClientRealIp(HttpServletRequest request) { if(request.getHeader("x-forwarded-for") == null) return request.getRemoteAddr(); return request.getHeader("x-forwarded-for"); }
-
客户端通过中间层的代理服务器
public String getClientRealIp(HttpServletRequest request) { if(request == null) return ""; String ip = request.getHeader("X-Requested-For"); if(ip == null || "".equals(ip) || "unknown".equalsIgnoreCase(ip)) ip = request.getHeader("X-Forwarded-For"); if(ip == null || "".equals(ip) || "unknown".equalsIgnoreCase(ip)) ip = request.getHeader("Proxy-Client-IP"); if(ip == null || "".equals(ip) || "unknown".equalsIgnoreCase(ip)) ip = request.getHeader("WL-Proxy-Client-IP"); if(ip == null || "".equals(ip) || "unknown".equalsIgnoreCase(ip)) ip = request.getHeader("HTTP_CLIENT_IP"); if(ip == null || "".equals(ip) || "unknown".equalsIgnoreCase(ip)) ip = request.getHeader("HTTP_X_FORWARDED_FOR"); if(ip == null || "".equals(ip) || "unknown".equalsIgnoreCase(ip)) ip = request.getRemoteAddr(); return ip; }
Java获取HTTP客户端IP地址
最新推荐文章于 2023-12-19 10:43:19 发布