Hutool 使用多重检测机制来获取公网 IP 地址。它首先尝试使用 InetAddress.getLocalHost()
方法获取本地 IP 地址,获取到的是内网 IP 地址,则继续使用其他方式进行探测。
Hutool 会依次检测以下三种方式获取公网 IP 地址:
InetAddress.getByName("ip.sb")
访问 IP.SB 网站,并解析返回的 IP 地址。InetAddress.getByName("myexternalip.com")
访问 MyExternalIP.com 网站,并解析返回的 IP 地址。InetAddress.getByName("www.trackip.net")
访问 TrackIP 网站,并解析返回的 IP 地址。以上三种方式都无法获取到公网 IP 地址,Hutool 会返回 null
。
Hutool 采用多重检测机制来获取公网 IP 地址,这提高获取成功的概率。各个网站的响应速度和可用性也会影响获取结果的可靠性。Hutool 的公网 IP 地址获取方式是可靠的,但在某些特殊网络环境下可能会存在失败的情况。