`
a25765339
  • 浏览: 60762 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【转】获取真实ip

 
阅读更多
private String getIpAddr(HttpServletRequest request){  
         String ipAddress = request.getHeader("x-forwarded-for");  
             if(ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {  
                 ipAddress = request.getHeader("Proxy-Client-IP");  
             }  
             if(ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {  
                 ipAddress = request.getHeader("WL-Proxy-Client-IP");  
             }  
             if(ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {  
                 ipAddress = request.getRemoteAddr();  
                 if(ipAddress.equals("127.0.0.1") || ipAddress.equals("0:0:0:0:0:0:0:1")){  
                     //根据网卡取本机配置的IP  
                     InetAddress inet=null;  
                     try {  
                         inet = InetAddress.getLocalHost();  
                     } catch (UnknownHostException e) {  
                         e.printStackTrace();  
                     }  
                     ipAddress= inet.getHostAddress();  
                 }  
             }  
             //对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割  
             if(ipAddress!=null && ipAddress.length()>15){ //"***.***.***.***".length() = 15  
                 if(ipAddress.indexOf(",")>0){  
                     ipAddress = ipAddress.substring(0,ipAddress.indexOf(","));  
                 }  
             }  
             return ipAddress;   
     }  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics