java获取客户端IP地址
2015-06-10 14:00
603 查看
package com.viathink.utils;
import javax.servlet.http.HttpServletRequest;
/**
* Ip地址工具类
* @author LiuJunGuang
* @date 2014年2月22日下午3:02:41
*/
public class IpUtils {
/**
* 获取客户端IP地址
* @author LiuJunGuang
* @param request
* @return
* @date 2014年2月22日下午3:03:05
*/
public static String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader("X-Forwarded-For");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
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)) {
ip = request.getRemoteAddr();
}
return ip;
}
}
import javax.servlet.http.HttpServletRequest;
/**
* Ip地址工具类
* @author LiuJunGuang
* @date 2014年2月22日下午3:02:41
*/
public class IpUtils {
/**
* 获取客户端IP地址
* @author LiuJunGuang
* @param request
* @return
* @date 2014年2月22日下午3:03:05
*/
public static String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader("X-Forwarded-For");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
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)) {
ip = request.getRemoteAddr();
}
return ip;
}
}
相关文章推荐
- Eclipse修改快捷键
- gradle多渠道打包及友盟统计-eclipse版本
- JAVA基础--集合
- Java NIO:NIO概述
- 详解java定时任务
- eclipse jetty debug
- 深入研究Java类加载机制
- 为MyEclipse添加自定义注释
- Spring小结
- struts.xml配置详解
- Java NIO原理 图文分析及代码实现
- JMeter java.lang.OutOfMemoryError: PermGen space错误
- Spring学习笔记之jdbc模版
- Java使用Jetty实现嵌入式Web服务器及Servlet容器
- SPRING MVC3.2案例讲解-请求重定向与请求转发
- 《JAVA与模式》之单例模式
- JAVASE学习笔记:第十章 SWing常用控件类(二)
- java工程集成log4J
- NetBeans下Android项目文件作用
- Spring MVC 中的 forward 和 redirect