获取http请求的真实IP地址
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取http请求的真实IP地址相关的知识,希望对你有一定的参考价值。
- /**
- * 获取http请求的真实IP地址
- * @param request
- * @return
- */
- // cjianquan 2016/8/2
- public static String getIPAddr(HttpServletRequest request){
- if (request == null)
- return null;
- 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("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 ("127.0.0.1".equals(ip) || "0:0:0:0:0:0:0:1".equals(ip))
- try {
- ip = InetAddress.getLocalHost().getHostAddress();
- }
- catch (UnknownHostException unknownhostexception) {
- }
- return ip;
- }
以上是关于获取http请求的真实IP地址的主要内容,如果未能解决你的问题,请参考以下文章
多级反向代理下,Java获取请求客户端的真实IP地址多种方法整合
多级反向代理下,Java获取请求客户端的真实IP地址多中方法整合