java获取客户访问IP
2013-07-17 16:17
274 查看
/** * 获取访问者IP * * 在一般情况下使用Request.getRemoteAddr()即可,但是经过nginx等反向代理软件后,这个方法会失效。 * * 本方法先从Header中获取X-Real-IP,如果不存在再从X-Forwarded-For获得第一个IP(用,分割), * 如果还不存在则调用Request .getRemoteAddr()。 * * @param request * @return */ public static String getIpAddr(HttpServletRequest request) throws Exception{ String ip = request.getHeader("X-Real-IP"); if (!StringUtils.isBlank(ip) && !"unknown".equalsIgnoreCase(ip)) { return ip; } ip = request.getHeader("X-Forwarded-For"); if (!StringUtils.isBlank(ip) && !"unknown".equalsIgnoreCase(ip)) { // 多次反向代理后会有多个IP值,第一个为真实IP。 int index = ip.indexOf(','); if (index != -1) { return ip.substring(0, index); } else { return ip; } } else { return request.getRemoteAddr(); } }
相关文章推荐
- java获取客户访问IP
- java获取客户访问IP
- java web在内网/局域网中访问,客户端主机ip获取
- java获取用户访问的真实IP地址和代理IP
- Java中获取访问者的ip和或获取访问路径
- Java获取访问服务端的客户端IP和MAC地址
- JAVA获取访问用户的客户端IP(适用于公网与局域网)
- 【java】服务器端获取用户访问的URL/用户IP/PC还是移动端
- JAVA获取访问用户的客户端IP(适用于公网与局域网)
- java脚本开发根据客户IP获取IP的具体地理位置信息
- java获取客户端访问ip
- nginx前端,tomcat后端服务器获取客户的真实IP,包括tomcat访问日志获取真实IP的配置
- JAVA访问ip138.com获取手机号段信息
- java代码获取用户访问ip,绝大部分可行
- 如何通过httpclient获取访问域名的真实ip
- Java实现本机IP的修改和获取
- JAVA分别实现Windows平台和Linux平台下的ip获取
- Java通过IP获取Mac地址:屏蔽Mac地址
- java获取本机外网ip
- 双层nginx代理获取真实访问ip