获取对方请求的访问ip地址

(很实用,哈哈)直接上代码

import javax.servlet.http.HttpServletRequest;

/**
 * http工具类
 */
public class HttpUtil {
	
	private HttpUtil(){
    	
    }
	
	/**
	 * 请求成功码
	 */
	public static final String successCode = "200";
	/**
	 * 用户新建或修改数据成功
	 */
	public static final String saveOrUpdate = "201";
	/**
	 * 请求失败码
	 */
	public static final String failCode = "500";
	/**
	 * 重新登陆码
	 */
	public static final String re_loginCode = "100";
	/**
	 * 没有权限
	 */
	public static final String unauth = "301";

	/**
	 * 验证码为空
	 */
	public static final String CodeNull = "302";


	/**
	 * 账号不存在
	 */
	public static final String NoUser = "304"	;


	/**
	 * 密码错误
	 */
	public static final String PasswordErro = "305"	;


	/**
	 * 验证码错误
	 */
	public static final String CodeErro = "306"	;

	/**
	 * 无效Token
	 */
	public static final String NoToken = "307"	;
	
	/**
	 * Token格式错误
	 */
	public static final String TokenErr = "308"	;
	
	/**
	 * 获取ip地址
	 * @param request
	 * @return
	 */
	public static String getIpAddress(HttpServletRequest request) {
		String ip = request.getHeader("x-forwarded-for");
//		String ip = request.getHeader("Proxy-Client-IP");//处理IP
		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("HTTP_CLIENT_IP");
		}
		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
			ip = request.getHeader("HTTP_X_FORWARDED_FOR");
		}
		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
			ip = request.getRemoteAddr();
		}
		
		if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
	        //X-Real-IP:nginx服务代理 
			ip = request.getHeader("X-Real-IP");
	    }
		if(ip!=null){
			ip=ip.split(",")[0];
//			if(ip.indexOf(",")>0){
//				ip=ip.substring(0,ip.indexOf(","));
//			}
		}
 		return ip;
	}
	public static void main(String[] args) {
		String ip="127.0.0.1,127.1.1.1";
		ip=ip.split(",")[0];
		System.out.println(ip);
	}
}


	

  

猜你喜欢

转载自www.cnblogs.com/otways/p/11431352.html