• java获取客户访问IP


    原文:http://blog.csdn.net/mydwr/article/details/9357187

    /**
    * 获取访问者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();
    }
    }
  • 相关阅读:
    c++ 对象大小内存占用分析
    运维(SA)修仙 之路 II
    分享好文章-Ansible 进阶技巧
    java JWT 登录认证
    ftp:500 OOPS: chroot
    centos 磁盘清理
    redis分析命令
    linux查找内容
    vim使用
    查看进程端口
  • 原文地址:https://www.cnblogs.com/shihaiming/p/6114755.html
Copyright © 2020-2023  润新知