Java 客户用户请求IP地址获取
2017-11-14 22:51
399 查看
public static String getIpAddr(HttpServletRequest request) {
//X-Forwarded-For :场景=客户端--CDN--Nginx
String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
//Proxy-Client-IP 字段和 WL-Proxy-Client-IP 字段只在 Apache(Weblogic Plug-In Enable)+WebLogic 搭配下出现
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
//Proxy-Client-IP 字段和 WL-Proxy-Client-IP 字段只在 Apache(Weblogic Plug-In Enable)+WebLogic 搭配下出现
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
//代理服务器发送的HTTP头
ip = request.getHeader("HTTP_CLIENT_IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
//REMOTE_ADDR 是客户端跟服务器“握手”时的IP,但如果使用了“匿名代理”,REMOTE_ADDR 将显示代理服务器的ip,或者最后一个代理服务器的ip
ip = request.getRemoteAddr();
}
return ip;
}
//X-Forwarded-For :场景=客户端--CDN--Nginx
String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
//Proxy-Client-IP 字段和 WL-Proxy-Client-IP 字段只在 Apache(Weblogic Plug-In Enable)+WebLogic 搭配下出现
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
//Proxy-Client-IP 字段和 WL-Proxy-Client-IP 字段只在 Apache(Weblogic Plug-In Enable)+WebLogic 搭配下出现
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
//代理服务器发送的HTTP头
ip = request.getHeader("HTTP_CLIENT_IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
//REMOTE_ADDR 是客户端跟服务器“握手”时的IP,但如果使用了“匿名代理”,REMOTE_ADDR 将显示代理服务器的ip,或者最后一个代理服务器的ip
ip = request.getRemoteAddr();
}
return ip;
}
相关文章推荐
- Java 通过HttpRequest获取请求用户真实IP地址
- Java 通过HttpRequest获取请求用户真实IP地址
- java获取客户端请求IP地址 获取公网ip
- 多级反向代理下,Java获取请求客户端的真实IP地址多中方法整合
- Java中使用HttpRequest获取用户真实IP地址
- Java 通过Request请求获取IP地址
- 多级反向代理下,Java获取请求客户端的真实IP地址多中方法整合
- Java获取请求客户端的真实IP地址
- java获取登陆用户的IP地址
- Java获取请求客户端的真实IP地址
- Java获取请求客户端的真实IP地址
- 多级反向代理下,Java获取请求客户端的真实IP地址多中方法整合
- 多级反向代理下,Java获取请求客户端的真实IP地址方法整合
- java获取用户请求的ip
- Java获取请求客户端的真实IP地址
- 多级反向代理下,Java获取请求客户端的真实IP地址多中方法整合
- 多级反向代理下,Java获取请求客户端的真实IP地址多中方法整合
- Java获取请求客户端的真实IP地址
- Java获取请求客户端的真实IP地址
- Java - 通过IP地址获取用户所在地