Java —— 获取用户真实IP工具类
生活随笔
收集整理的這篇文章主要介紹了
Java —— 获取用户真实IP工具类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
public class NetworkUtil {private static final Logger logger = LoggerFactory.getLogger(NetworkUtil.class);/*** 獲取請求主機IP地址,如果通過代理進來,則透過防火墻獲取真實IP地址;*/public static String getIpAddress(HttpServletRequest request) {// 獲取請求主機IP地址,如果通過代理進來,則透過防火墻獲取真實IP地址String ip = request.getHeader("X-Forwarded-For");logger.info("X-Forwarded-For - String ip=" + ip);if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("Proxy-Client-IP");logger.info("Proxy-Client-IP - String ip=" + ip);}if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("WL-Proxy-Client-IP");logger.info("WL-Proxy-Client-IP - String ip=" + ip);}if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("HTTP_CLIENT_IP");logger.info("HTTP_CLIENT_IP - String ip=" + ip);}if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("HTTP_X_FORWARDED_FOR");logger.info("HTTP_X_FORWARDED_FOR - String ip=" + ip);}if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getRemoteAddr();logger.info("getRemoteAddr - String ip=" + ip);}} else if (ip.length() > 15) {String[] ips = ip.split(",");for (int index = 0; index < ips.length; index++) {String strIp = (String) ips[index];if (!("unknown".equalsIgnoreCase(strIp))) {ip = strIp;break;}}}return ip;}
}
總結
以上是生活随笔為你收集整理的Java —— 获取用户真实IP工具类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 宋红康jvm ppt(JVM介绍)
- 下一篇: NokiaS60系列的jes-lcdui