/*** * @author: bj_fzw * @date: 2024/2/6 10:25 * @description: 获取客户端访问IP * @params: [request] * @return java.lang.String **/ private String getClientIp(HttpServletRequest request) throws AppException{ //request.getHeader不区分大小写 String ip = request.getHeader("X-Forwarded-For"); if(SysUtils.isNullOrEmpty(ip) ||"unknown".equalsIgnoreCase(ip) ){ ip = request.getHeader("Proxy-Client-IP"); } if (SysUtils.isNullOrEmpty(ip) || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("WL-Proxy-Client-IP"); } if (SysUtils.isNullOrEmpty(ip) || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("HTTP_CLIENT_IP"); } if (SysUtils.isNullOrEmpty(ip) || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("HTTP_X_FORWARDED_FOR"); } if (SysUtils.isNullOrEmpty(ip) || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("X-Real-IP"); } if (SysUtils.isNullOrEmpty(ip) || "unknown".equalsIgnoreCase(ip)) { ip = request.getRemoteAddr(); } if(SysUtils.isNotNullOrEmpty(ip)) { String[] ips=ip.split(","); for(int i=0;i<ips.length;i++){ String ipStr=ips[i]; if(!"unknown".equalsIgnoreCase(ipStr)){ ip=ipStr; break; } } } return ip.equals("0:0:0:0:0:0:0:1") ? "127.0.0.1" : ip; }
获取客户端IP
最新推荐文章于 2024-10-03 21:54:17 发布