アクセス元の実際のIPを取得


最近IPデータの出所の統計をして、出所の真実なIPを統計する必要があって、そこで以下があります

  
  
  
  
  1. public class ObtainIP {  
  2.  
  3.     /**  
  4.      *  IP  
  5.      * @param args  
  6.      */ 
  7.     public static String getIpAddr(HttpServletRequest request) {          
  8.           String ip = request.getHeader("x-forwarded-for");          
  9.           if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {          
  10.              ip = request.getHeader("Proxy-Client-IP");          
  11.          }          
  12.           if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {          
  13.              ip = request.getHeader("WL-Proxy-Client-IP");          
  14.           }          
  15.          if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {          
  16.               ip = request.getRemoteAddr();          
  17.          }          
  18.          return ip;          
  19.     }  

リクエストでgetHeader(「x-forwarded-for」)は、実際のIPアドレスを取得できます.