关闭

取得客户端真实ip

361人阅读 评论(0) 收藏 举报
  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;  


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1058620次
    • 积分:8329
    • 等级:
    • 排名:第2476名
    • 原创:125篇
    • 转载:448篇
    • 译文:3篇
    • 评论:35条
    最新评论