获取访问的真实ip地址

获取访问的ip地址:

@RequestMapping(value ={"/third/staticReport","staticReport"} , method = {RequestMethod.GET,RequestMethod.POST})
	public String getBIReportSetting(
			@RequestParam("orgIndex")   String orgIndex, 
			@RequestParam(value="mIdentifier", required=false, defaultValue="0") String mIdentifier,HttpServletRequest request,
			Model model) throws Exception{
            SysLog sysLog = new SysLog();
	    String ip = request.getHeader("X-Real-IP");  
	    if (!StringUtils.isBlank(ip) && !"unknown".equalsIgnoreCase(ip)){  
	    	sysLog.setIp(ip);  
	    }  
	    ip = request.getHeader("X-Forwarded-For");  
	    if (!StringUtils.isBlank(ip) && !"unknown".equalsIgnoreCase(ip)){  
	        // 多次反向代理后会有多个IP值,第一个为真实IP。  
	        int index = ip.indexOf(',');  
	        if (index != -1)  {  
	        	sysLog.setIp(ip.substring(0, index));  
	        }  
	        else{  
	        	sysLog.setIp(ip);    
	        }  
	    }else {  
	    	sysLog.setIp(request.getRemoteAddr());  
	    }  
}

猜你喜欢

转载自blog.csdn.net/luuvyjune/article/details/81000048