java中代码实现获取IP

来源:互联网 发布:淘宝店铺内衣名字大全 编辑:程序博客网 时间:2024/06/07 22:16


需要 servlet-api.jar 的包

package easytest;


import javax.servlet.http.HttpServletRequest;


public class C {


/***
* 获取客户端的真实ip

* @param request
* @return clientIp 从request域中取出进行判断(代理上网)XFF,XRI,Addr, 如果 forwarded_for 设成了
*         off,则:X-Forwarded-For: unknown
*/
public String getClientIp(HttpServletRequest request) {


String ip = request.getHeader("x-forwarded-for");
if (ip == null || "unknown".equalsIgnoreCase(ip) || ip.length() == 0) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || "unknown".equalsIgnoreCase(ip) || ip.length() == 0) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || "unknown".equalsIgnoreCase("ip") || ip.length() == 0) {
ip = request.getRemoteAddr();
}
return ip;
}


}