java获得访问者ip,为什么获得的值是ip "0:0:0:0:0:0:0:1" (id=114)

publicstaticStringgetIpAddr(HttpServletRequestrequest){Stringip=request.getHeader("X-... public static String getIpAddr(HttpServletRequest request)
{
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))
{
int index = ip.indexOf(',');
if(index != -1){
return ip.substring(0, index);
}else{
return ip;
}
}
return request.getRemoteAddr();
}
}
展开
 我来答
yzyaiweier
2014-01-21 · TA获得超过347个赞
知道小有建树答主
回答量:185
采纳率:100%
帮助的人:92.4万
展开全部
本机地址获取为了IPV6的IP,这现象只有在服务器和客户端都在同一台电脑上才会出现(例如用localhost访问的时候才会出现),其实作怪的是hosts文件,在windows上应该是C:\Windows\system32\drivers\etc\ hosts这个文件),只需要注释掉文件中的 # ::1 localhost 这一行即可解决问题。
0_杰
推荐于2018-02-26 · TA获得超过125个赞
知道小有建树答主
回答量:127
采纳率:100%
帮助的人:81.6万
展开全部
这代码的问题只会出现在本机访问服务,获取ip时才会出现。
而且如果你本机通过localhost、127.0.0.1和本机真实地址访问时获取到的ip也有区别,有兴趣可以试试
追问
吧localhos换成127.0.0.1就变成了IPV4
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-01-23
展开全部
这个太难老
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
易二少爷
2014-01-21
知道答主
回答量:57
采纳率:0%
帮助的人:17.9万
展开全部
这个太难老
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yangweisearch
2014-01-24 · TA获得超过1263个赞
知道答主
回答量:118
采纳率:100%
帮助的人:56.3万
展开全部
这是本机访问才会得到的ipv6结果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 5条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式