日期:2014-05-20  浏览次数:20706 次

怎么在servlet中获取客户端ip
怎么在servlet中获取客户端ip,我用这个方法返回的是0.0.0.0.0.0.
/**
 * 获取客户端Ip地址
 * 
 * @return
 */
protected String getIpAddr(HttpServletRequest request) {
// 通过请求头获取ip地址
String ip = request.getHeader("x-forwarded-for");
// 判断ip地址是否是代理地址
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
// 判断ip地址是否是代理地址
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
// 判断ip地址是否是代理地址
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
1

------解决方案--------------------
测试的时候不要用localhost/127.0.0.1,用ip地址
------解决方案--------------------
request.getRemoteAddr()