java获取用户真实ip

java

浏览数:6

2019-1-7


ip

/**
     * 获取真实ip
     * @author chenp
     * @param request
     * @return
     */
    public  String getReallyIp(HttpServletRequest request) {
           String ip = request.getHeader("X-Forwarded-For");
           if(!StringUtils.isEmpty(ip) && !"unKnown".equalsIgnoreCase(ip)){
               //多次反向代理后会有多个ip值,第一个ip才是真实ip
               int index = ip.indexOf(",");
               if(index != -1){
                   return ip.substring(0,index);
               }else{
                   return ip;
               }
           }
           ip = request.getHeader("X-Real-IP");
           if(!StringUtils.isEmpty(ip) && !"unKnown".equalsIgnoreCase(ip)){
               return ip;
           }
           return request.getRemoteAddr();
       }

相关推荐