如用在servlet中获取客户端的ip地址,我用如下的方法获取不行request.getRemoteAddr() 输出0:0:0:0:0:0:0:1
request.getHeader("x-forwarded-for")输出null我用的是window7系统!求知道,如何获取ip

解决方案 »

  1.   

    好牛X的servlet,居然拿到了IPv6的地址
      

  2.   

    悲剧啊,我用了xp的系统,request.getRemoteAddr()获取正常
    为什么windows7的会获取到ipv6去了?我程序中需要用到客户端的ip,怎么办?总不能限制客户端不要用windows7吧?
      

  3.   

    public String getRemoteAddress(HttpServletRequest request) {
    // TODO Auto-generated method stub
    String ip=request.getHeader("x-forwarded-for");
      if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) {   
                ip = request.getRemoteAddr();   
            }   
    return ip;

    }然后再service里写
    String ip=getRemoteAddress(request);
     System.out.println(ip);我局域网测试过了 可以获取win7的IP 外网就不知道了