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();
}
}
获取客户端IP地址
最新推荐文章于 2025-07-21 14:22:03 发布
4583

被折叠的 条评论
为什么被折叠?



