java为什么通过地下的获取到的结果无论如何都是 127.0.0.1
为什么www.ip138.com可以正常获取客户端的ip呢。
public String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
java获取ip
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
enet_java 2010-10-12 11:06关注你是在本机上访问的吧!!
如果你的url是 http://localhost:port/context/xxx.xxx 或者是http://127.0.0.1:port/context/xxx.xxx
你获取到的就是本机127.0.0.1,获取不到你的外网IP的。
而www.ip138.com 获取的是你外网的IP地址。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报