怎么在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
* 获取客户端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
String localIp=request.getLocalAddr();//获取本地ip
int localPort=request.getLocalPort();//获取本地的端口
String localName=request.getLocalName();//获取本地计算机的名字
String remoteIp=request.getRemoteAddr();//获取客户端的ip搜索
int remotePort=request.getRemotePort();//获取客户端的端口号
String serverName=request.getRemoteHost();//获取远程计算机的名字
System.out.println("语言类型->"+languageType);
System.out.println(localName+" "+serverName);
System.out.println(localIp+":"+localPort+" "+remoteIp+":"+remotePort)}