Java获取HTTP客户端IP地址

来源:互联网 发布:windows下获取ntp时间 编辑:程序博客网 时间:2024/06/14 04:10
  1. 客户端直接连接服务器

    public String getClientRealIp(HttpServletRequest request)  {      if(request.getHeader("x-forwarded-for") == null)          return request.getRemoteAddr();        return request.getHeader("x-forwarded-for");  }  
  2. 客户端通过中间层的代理服务器

    public String getClientRealIp(HttpServletRequest request)  {  if(request == null)  return "";  String ip = request.getHeader("X-Requested-For");  if(ip == null || "".equals(ip) || "unknown".equalsIgnoreCase(ip))  ip = request.getHeader("X-Forwarded-For");  if(ip == null || "".equals(ip) || "unknown".equalsIgnoreCase(ip))  ip = request.getHeader("Proxy-Client-IP");  if(ip == null || "".equals(ip) || "unknown".equalsIgnoreCase(ip))  ip = request.getHeader("WL-Proxy-Client-IP");  if(ip == null || "".equals(ip) || "unknown".equalsIgnoreCase(ip))  ip = request.getHeader("HTTP_CLIENT_IP");  if(ip == null || "".equals(ip) || "unknown".equalsIgnoreCase(ip))  ip = request.getHeader("HTTP_X_FORWARDED_FOR");  if(ip == null || "".equals(ip) || "unknown".equalsIgnoreCase(ip))  ip = request.getRemoteAddr();    return ip;  }  



原创粉丝点击