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();
}
} 展开
{
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();
}
} 展开
7个回答
展开全部
这代码的问题只会出现在本机访问服务,获取ip时才会出现。
而且如果你本机通过localhost、127.0.0.1和本机真实地址访问时获取到的ip也有区别,有兴趣可以试试
而且如果你本机通过localhost、127.0.0.1和本机真实地址访问时获取到的ip也有区别,有兴趣可以试试
追问
吧localhos换成127.0.0.1就变成了IPV4
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-23
展开全部
这个太难老
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是本机访问才会得到的ipv6结果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询