Java獲得代理環境下的真實IP
在有代理環境下要獲得真實ip,必須先看X-RealIP和X-Forwarded-For兩個http頭,如果這兩個請求頭中有值的話,真實ip就從這里取值,否則再看request.getRemoteAddr()。
如下是獲得真實IP的代碼:
/*** 獲取真實IP: * 先取 * @param request * @return */ public static String getClientIP(HttpServletRequest request) { String ip = request.getHeader("X-Real-IP"); if (StringUtil.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("X-Forwarded-For"); } if (StringUtil.isEmpty(ip) || "unknown".equalsIgnoreCase(ip)) { ip = request.getRemoteAddr(); } return ip; }</pre>
本文由用戶 c6g3 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!