IP 地址获取
2015-07-17 14:47
218 查看
public String getIPAddr() {
HttpServletRequest request = getRequest();
String ip = request.getHeader("x-forwarded-for");
if (StringUtils.isNullOrEmpty(ip)|| "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("X-Forwarded-For");
}
if (StringUtils.isNullOrEmpty(ip)|| "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (StringUtils.isNullOrEmpty(ip)|| "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (StringUtils.isNullOrEmpty(ip)|| "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_CLIENT_IP");
}
if (StringUtils.isNullOrEmpty(ip)|| "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
}
if (StringUtils.isNullOrEmpty(ip)|| "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
if(!StringUtils.isNullOrEmpty(ip)&&ip.indexOf(",")!=-1){
ip = ip.substring(ip.lastIndexOf(",") + 1, ip.length()).trim();
}
logger.info("x-forwarded-for:"+request.getHeader("x-forwarded-for"));
logger.info("Proxy-Client-IP:"+request.getHeader("Proxy-Client-IP"));
logger.info("WL-Proxy-Client-IP:"+request.getHeader("WL-Proxy-Client-IP"));
logger.info("HTTP_CLIENT_IP:"+request.getHeader("HTTP_CLIENT_IP"));
logger.info("HTTP_X_FORWARDED_FOR:"+request.getHeader("HTTP_X_FORWARDED_FOR"));
logger.info("http_client_ip:"+request.getHeader("http_client_ip"));
logger.info("remote_ip:"+request.getRemoteAddr());
return ip.equals("0:0:0:0:0:0:0:1")?"127.0.0.1":ip;
}
public static boolean isNullOrEmpty(String str) {
return str == null || "".equals(str) || "null".equals(str);
}
isNullOrEmpty方法为自己写的,稍微修改下
HttpServletRequest request = getRequest();
String ip = request.getHeader("x-forwarded-for");
if (StringUtils.isNullOrEmpty(ip)|| "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("X-Forwarded-For");
}
if (StringUtils.isNullOrEmpty(ip)|| "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (StringUtils.isNullOrEmpty(ip)|| "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (StringUtils.isNullOrEmpty(ip)|| "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_CLIENT_IP");
}
if (StringUtils.isNullOrEmpty(ip)|| "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
}
if (StringUtils.isNullOrEmpty(ip)|| "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
if(!StringUtils.isNullOrEmpty(ip)&&ip.indexOf(",")!=-1){
ip = ip.substring(ip.lastIndexOf(",") + 1, ip.length()).trim();
}
logger.info("x-forwarded-for:"+request.getHeader("x-forwarded-for"));
logger.info("Proxy-Client-IP:"+request.getHeader("Proxy-Client-IP"));
logger.info("WL-Proxy-Client-IP:"+request.getHeader("WL-Proxy-Client-IP"));
logger.info("HTTP_CLIENT_IP:"+request.getHeader("HTTP_CLIENT_IP"));
logger.info("HTTP_X_FORWARDED_FOR:"+request.getHeader("HTTP_X_FORWARDED_FOR"));
logger.info("http_client_ip:"+request.getHeader("http_client_ip"));
logger.info("remote_ip:"+request.getRemoteAddr());
return ip.equals("0:0:0:0:0:0:0:1")?"127.0.0.1":ip;
}
public static boolean isNullOrEmpty(String str) {
return str == null || "".equals(str) || "null".equals(str);
}
isNullOrEmpty方法为自己写的,稍微修改下
相关文章推荐
- 数组与指针
- 微软学习网站
- GIT基本用法
- 【gitlab安装问题集】yum安装报错"Couldn't resolve host 'mirror.centos.org'"
- 回文质数
- Rex——iOS Android Arduino 移动互联网
- ios cordite 读取错误CoreData could not fulfill a fault for '0x15b4a870
- jquery.min.map 404 (Not Found)出错的原因及解决办法
- linux系统怎么用命令切换用户?
- oc中,方法的返回类型用instancetype代替id有什么好处
- VS2015 免费插件Refactoring Essentials
- android 打开相机和相册
- POJ 1087 A Plug for UNIX【最大流】
- oracle闪回
- 跳棋
- 随机函数(Pascal入门)
- noi同步赛day1
- 网站超时跳转到登录界面
- AJAX 跨域请求的解决办法:使用 JSONP获取JSON数据
- MySQL unsigned默认显示字符宽度比signed少一个