IpUtils.java 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package com.ruoyi.common.utils;
  2. import javax.servlet.http.HttpServletRequest;
  3. /**
  4. * 获取IP方法
  5. *
  6. * @author ruoyi
  7. */
  8. public class IpUtils
  9. {
  10. public static String getIpAddr(HttpServletRequest request)
  11. {
  12. if (request == null)
  13. {
  14. return "unknown";
  15. }
  16. String ip = request.getHeader("x-forwarded-for");
  17. if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
  18. {
  19. ip = request.getHeader("Proxy-Client-IP");
  20. }
  21. if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
  22. {
  23. ip = request.getHeader("X-Forwarded-For");
  24. }
  25. if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
  26. {
  27. ip = request.getHeader("WL-Proxy-Client-IP");
  28. }
  29. if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
  30. {
  31. ip = request.getHeader("X-Real-IP");
  32. }
  33. if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip))
  34. {
  35. ip = request.getRemoteAddr();
  36. }
  37. return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : ip;
  38. }
  39. }