我现在在做一个电子商务系统,其中要做一个定时器涉及到了根据IP抓取所在城市的一个功能,是针对所有该系统的用户的,首先就是要获取所有用户的IP,然后和数据库中的对比,可是纠结了几天,还是想不明白要怎么获取那些用户的IP,是根据服务器日志,还是别的什么,怎样才能获取到所有用户的IP呢?求高手指点,小弟先谢过了...

解决方案 »

  1.   

    个人认为:request中就带有ip地址。可以写个filter拦截捕获就可以。
    具体:
       if (request.getHeader("x-forwarded-for") == null) {
    ip = request.getRemoteAddr();
       }else {
    ip = request.getHeader("x-forwarded-for");
       }
      

  2.   


    private String getRemoteIP(HttpServletRequest request){
    if(request.getHeader("x-forwarded-for") == null){
    return request.getRemoteAddr();
    }
    return request.getHeader("x-forwarded-for");
    }如果可以准确获取IP,还要代理干嘛用呢
    都是可以隐藏的,所以凑合得一个差不多就行了。QQ还老显示我上次登录是哪哪哪哪呢