java获取访问者的IP
来源:互联网 发布:sony vegas mac 编辑:程序博客网 时间:2024/05/20 13:15
public String getIp(HttpServletRequest request) {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 e) { e.printStackTrace(); } }return ip}
/** * 获取访问者IP * * 在一般情况下使用Request.getRemoteAddr()即可,但是经过nginx等反向代理软件后,这个方法会失效。 * * 本方法先从Header中获取X-Real-IP,如果不存在再从X-Forwarded-For获得第一个IP(用,分割), * 如果还不存在则调用Request .getRemoteAddr()。 * * @param request * @return */ public static String getIpAddr(HttpServletRequest request) { 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(); } }
0 0
- java获取访问者的IP
- Java获取访问者的ip地址
- java获取访问者的IP和端口
- 获取访问者ip的方法
- 用Java来获取访问者真实的IP地址
- 用Java来获取访问者真实的IP地址
- 用Java来获取访问者真实的IP地址
- 用Java来获取访问者真实的IP地址
- 用Java来获取访问者真实的IP地址
- 用Java来获取访问者真实的IP地址
- 用Java来获取访问者真实的IP地址
- 用Java来获取访问者真实的IP地址
- 用Java来获取访问者真实的IP地址
- java EE 获取客户端及访问者的IP地址
- 用Java来获取访问者真实的IP地址
- java 反向代理的项目怎么获取访问者IP
- java开发_获取访问者IP
- java获取访问者主机名和IP地址
- 1025 PAT Ranking
- SAP前缀补零去零函数
- python 文件输出与重定向 ,输出的内容会在内存中暂存,不会立刻输出到文件中
- web性能优化
- 接口、抽象类、虚方法、抽象方法、普通方法理清
- java获取访问者的IP
- 关于android应用的toolbar(actionbar)不能填满布局解决
- linker command failed with exit code 1
- Android实现启动页停留几秒然后自动跳转到App首页的方法
- 怎么修改docker images的存储目录
- php-fpm 未启动导致nginx 502
- 【Android】长按连续触发事件的实现方法
- android录制声音写入文件
- 祝兄弟们旗开得胜—兄弟连IT教育