/** * 獲取客戶端ip地址 * @param request * @return */ public static String getCliectIp(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for"); if (ip == null || ip.trim() == "" || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("Proxy-Client-IP"); } if (ip == null || ip.trim() == "" || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("WL-Proxy-Client-IP"); } if (ip == null || ip.trim() == "" || "unknown".equalsIgnoreCase(ip)) { ip = request.getRemoteAddr(); } // 多個路由時,取第一個非unknown的ip final String[] arr = ip.split(","); for (final String str : arr) { if (!"unknown".equalsIgnoreCase(str)) { ip = str; break; } } return ip; }