獲取對方請求的訪問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);
	}
}


	

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM