开发者社区> 问答> 正文

为什么获取不了访问者的真实IP

获取访问者的ip的java代码是这样的。。

    String  ip = request.getHeader("x-forwarded-for") == null ? request.getRemoteAddr()
                   : request.getHeader("x-forwarded-for");


每次获取的ip都是自己的云服务器的ip也是醉了,实在是不明白是什么原因。。求解答。。

展开
收起
小白晒太阳 2015-01-06 11:08:50 7560 0
3 条回答
写回答
取消 提交回答
  • 一个程序员,欢迎骚扰!!!
    做过获取用户IP 然后通过阿里的API获取地址位置的 demo 明早给你找一下
    2016-05-24 15:24:33
    赞同 展开评论 打赏
  • 回 1楼漫步沙漠的帖子
    Java代码获取X-Forwarded-For

    /**
    * 获取ip地址,防止集群、代理
    * @param request  
    * @return ip
    */  
    public static String getAddr(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.getRemoteAddr();  
        }  
        return ip;  
    }  
    2016-05-24 11:04:07
    赞同 展开评论 打赏
  • Re为什么获取不了访问者的真实IP
    我也是这个问题;
    2015-05-30 11:50:00
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载