servlet获取ip地址

飞奔的兔子鸡 2011-03-10 03:53:11
如用在servlet中获取客户端的ip地址,我用如下的方法获取不行

request.getRemoteAddr() 输出0:0:0:0:0:0:0:1
request.getHeader("x-forwarded-for")输出null

我用的是window7系统!

求知道,如何获取ip
...全文
503 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
飞奔的兔子鸡 2011-03-11
  • 打赏
  • 举报
回复
知道原因了,服务器跟本机在一起就获取不到这个ip地址
chase124351 2011-03-10
  • 打赏
  • 举报
回复
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 外网就不知道了
飞奔的兔子鸡 2011-03-10
  • 打赏
  • 举报
回复
悲剧啊,我用了xp的系统,request.getRemoteAddr()获取正常
为什么windows7的会获取到ipv6去了?

我程序中需要用到客户端的ip,怎么办?总不能限制客户端不要用windows7吧?
飞奔的兔子鸡 2011-03-10
  • 打赏
  • 举报
回复
我也觉得应该是这样,可是这样怎么办呢?
焙焙龙 2011-03-10
  • 打赏
  • 举报
回复
好牛X的servlet,居然拿到了IPv6的地址

67,516

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧