import javax.servlet.http.HttpServletRequest;
/** * 获取客户端IP地址 * @author lizhangyu * @Date 2019-11-15 */
public class IpUtils {
/** * IP请求头候选列 */
private static final String[] IP_HEADER_CANDIDATES = {
"X-Forwarded-For",
"Proxy-Client-IP",
"WL-Proxy-Client-IP",
"HTTP_X_FORWARDED_FOR",
"HTTP_X_FORWARDED",
"HTTP_X_CLUSTER_CLIENT_IP",
"HTTP_CLIENT_IP",
"HTTP_FORWARDED_FOR",
"HTTP_FORWARDED",
"HTTP_VIA",
"REMOTE_ADDR"
};
/** * 获取客户端IP地址 * @param request HttpServletRequest 请求对象 * @return 客户端IP */
public static String getClientIp(HttpServletRequest request) {
for (String header : IP_HEADER_CANDIDATES) {
String ip = request.getHeader(header);
if (ip != null && ip.length() != 0 && !"unknown".equalsIgnoreCase(ip)) {
return ip;
}
}
return request.getRemoteAddr();
}
}
还没有评论,来说两句吧...