Class IpUtils

java.lang.Object
com.codeupsoft.base.common.utils.IpUtils

public class IpUtils extends Object
IP地址工具类.
Author:
ruoyi
  • Field Details

  • Constructor Details

    • IpUtils

      public IpUtils()
  • Method Details

    • getIpAddr

      public static String getIpAddr()
      获取客户端IP.
      Returns:
      IP地址
    • getIpAddr

      public static String getIpAddr(jakarta.servlet.http.HttpServletRequest request)
      获取客户端IP.
      Parameters:
      request - 请求对象
      Returns:
      IP地址
    • internalIp

      public static boolean internalIp(String ip)
      检查是否为内部IP地址.
      Parameters:
      ip - IP地址
      Returns:
      结果
    • textToNumericFormatV4

      public static byte[] textToNumericFormatV4(String text)
      将IPv4地址转换成字节.
      Parameters:
      text - IPv4地址
      Returns:
      byte 字节
    • getHostIp

      public static String getHostIp()
      获取IP地址.
      Returns:
      本地IP地址
    • getHostName

      public static String getHostName()
      获取主机名.
      Returns:
      本地主机名
    • getMultistageReverseProxyIp

      public static String getMultistageReverseProxyIp(String ip)
      从多级反向代理中获得第一个非unknown IP地址.
      Parameters:
      ip - 获得的IP地址
      Returns:
      第一个非unknown IP地址
    • isUnknown

      public static boolean isUnknown(String checkString)
      检测给定字符串是否为未知,多用于检测HTTP请求相关.
      Parameters:
      checkString - 被检测的字符串
      Returns:
      是否未知
    • isIp

      public static boolean isIp(String ip)
      是否为IP.
      Parameters:
      ip - IP地址
      Returns:
      boolean 结果
    • isIpWildCard

      public static boolean isIpWildCard(String ip)
      是否为IP,或 *为间隔的通配符地址.
      Parameters:
      ip - IP地址
      Returns:
      boolean 结果
    • ipIsInWildCardNoCheck

      public static boolean ipIsInWildCardNoCheck(String ipWildCard, String ip)
      检测参数是否在ip通配符里.
      Parameters:
      ipWildCard - 通配符IP
      ip - IP地址
      Returns:
      boolean 结果
    • isIpSegment

      public static boolean isIpSegment(String ipSeg)
      是否为特定格式如:“10.10.10.1-10.10.10.99”的ip段字符串.
      Parameters:
      ipSeg - IP段
      Returns:
      boolean 结果
    • ipIsInNetNoCheck

      public static boolean ipIsInNetNoCheck(String iparea, String ip)
      判断ip是否在指定网段中.
      Parameters:
      iparea - 网段范围
      ip - IP地址
      Returns:
      boolean 结果
    • isMatchedIp

      public static boolean isMatchedIp(String filter, String ip)
      校验ip是否符合过滤串规则.
      Parameters:
      filter - 过滤IP列表,支持后缀'*'通配,支持网段如:`10.10.10.1-10.10.10.99`
      ip - 校验IP地址
      Returns:
      boolean 结果