java获取用户真实ip

2019-1-3


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();
       }

下载地址

百度网盘
密码: