热门关键字:
jquery > jquery教程 > java > java获取客户端访问的真实IP地址

java获取客户端访问的真实IP地址

2953
作者:管理员
发布时间:2014/11/7 11:17:37
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Show.aspx?id=461
/**
 * @Description java获取客户端访问的真实IP地址
 * @author temdy
 * @Date 2014-11-07
 * @param request 请求对象
 * @return
 */
public String getIPAddress(HttpServletRequest request){
	//获取X-Forwarded-For
	String ip = request.getHeader("x-forwarded-for");  
	if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {  
		//获取Proxy-Client-IP
		ip = request.getHeader("Proxy-Client-IP");  
	}  
	if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 
		//WL-Proxy-Client-IP
		ip = request.getHeader("WL-Proxy-Client-IP");  
	}  
	if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {  
		//获取的IP实际上是代理服务器的地址,并不是客户端的IP地址
		ip = request.getRemoteAddr();  
	}		
	/*
	 * 如果通过了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP值
	 * X-Forwarded-For:192.168.1.110, 192.168.1.120, 192.168.1.130, 192.168.1.100
	 * 用户真实IP为: 192.168.1.110
	 */
	if (ip.contains(",")){
		ip = ip.split(",")[0];
	}
	return ip;
}




如果您觉得本文的内容对您的学习有所帮助:支付鼓励



关键字:java 客户端访问的真实IP地址
友荐云推荐