取得客户端真实ip

转载 2012年03月30日 14:34:11
  1. /** 
  2.  * 取得客户端真实ip 
  3.  *  
  4.  * @param request 
  5.  * @return 客户端真实ip 
  6.  */  
  7. public String getIpAddr(HttpServletRequest request) {  
  8.     String ip = request.getHeader("X-Forwarded-For");  
  9.     logger.debug("1- X-Forwarded-For ip={}", ip);  
  10.     if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {  
  11.         ip = request.getHeader("Proxy-Client-IP");  
  12.         logger.debug("2- Proxy-Client-IP ip={}", ip);  
  13.     }  
  14.     if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {  
  15.         ip = request.getHeader("WL-Proxy-Client-IP");  
  16.         logger.debug("3- WL-Proxy-Client-IP ip={}", ip);  
  17.     }  
  18.     if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {  
  19.         ip = request.getHeader("HTTP_CLIENT_IP");  
  20.         logger.debug("4- HTTP_CLIENT_IP ip={}", ip);  
  21.     }  
  22.     if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {  
  23.         ip = request.getHeader("HTTP_X_FORWARDED_FOR");  
  24.         logger.debug("5- HTTP_X_FORWARDED_FOR ip={}", ip);  
  25.     }  
  26.     if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {  
  27.         ip = request.getRemoteAddr();  
  28.         logger.debug("6- getRemoteAddr ip={}", ip);  
  29.     }  
  30.     logger.info("finally ip={}", ip);  
  31.     return ip;  


相关文章推荐

.net取得客户端真实IP

/// /// 取得客户端真实IP。如果有代理则取第一个非内网地址 /// public static string IPAddress ...

php获取客户端真实ip

  • 2013年08月28日 18:20
  • 2KB
  • 下载

代理proxy获取客户端真实IP

关于代理如何获取客户端真实IP的配置: http://www.example.com/static/index.htmldev开发环境举例:www.example.com(代理)–>proxy.exa...

java实现穿透代理获取客户端真实ip

经过代理或者代理服务器以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的IP,服务器端应用也无法直接通过转发请求的地址返回 给客户端。但是在转发请求的HTTP头信息中,增加了X-...

Java Web开发之httpServletRequest获取客户端真实ip

坚持 成长 每日一篇request方法客户端IP: request.getRemoteAddr() 输出:192.168.0.106客户端主机名:request.getRemoteHost()输出:a...

Java Web 获取客户端真实IP

发生的场景:服务器端接收客户端请求的时候,一般需要进行签名验证,客户端IP限定等情况,在进行客户端IP限定的时候,需要首先获取该真实的IP。一般分为两种情况: 方式一、客户端未经过代理,直接访问服务...

多级反向代理[Squid]下获取客户端真实IP地址

在很多应用下都可能有需要将用户的真实IP记录下来,这时就要获得用户的真实IP地址,在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有...

jfinal --获取客户端真实的ip地址

JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:取得客户端真实ip
举报原因:
原因补充:

(最多只允许输入30个字)