根据HttpServletRequest取得ip

阅读更多
public static String getIpAddr(HttpServletRequest request) {
		String ip = request.getHeader("x-forwarded-for");
		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
			ip = request.getHeader("Proxy-Client-IP");
		}
		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
			ip = request.getHeader("WL-Proxy-Client-IP");
		}
		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
			ip = request.getHeader("Cdn-Src-Ip");
		}
		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
			ip = request.getRemoteAddr();
		}
		return ip;
	}


如果是要获得本机的IP的话可以通过:

InetAddress.getLocalHost().toString()获得

 

 

public String getClientIP(HttpServletRequest request){
		String ip = request.getHeader("x-real-ip");
		if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
			ip = request.getHeader("x-forwarded-for");
			if(ip != null) {
				ip=ip.split(",")[0].trim();
			}
		}
		if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {                 		ip = request.getHeader("Proxy-Client-IP");             
		}  
		if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 
			ip = request.getHeader("WL-Proxy-Client-IP");             
		}   
		if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {                 		ip = request.getRemoteAddr();             
		}
		return ip;       
	}

 

你可能感兴趣的:(ip)