我通过以下方法获取 Client
IP 地址:
public static String getClientIpAddr(HttpServletRequest request) {
String ip = request.getHeader("X-Forwarded-For");
...
return ip
}
现在我想检测它是 IPV4
还是 IPV6
。
最佳答案
您可以创建一个 InetAddress 并检查它是否成为 ipv4 或 ipv6 实例
InetAddress address = InetAddress.getByName(ip);
if (address instanceof Inet6Address) {
// It's ipv6
} else if (address instanceof Inet4Address) {
// It's ipv4
}
虽然看起来有点尴尬,但我希望有更好的解决方案。
关于Java - 如何检测IP版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18102672/