Я хотел бы проверить, является ли представленный пользователем адрес ip действительным общедоступным ip (non loopback, non local, non reserved).Тест, если данный ip является общедоступным?
Для этой цели я придумал этот метод, но мне было интересно, достаточно ли этого, или если мне не хватает некоторых тестов.
Спасибо за вашу помощь :)
private boolean isValidPublicIp(String ip) {
try
{
Inet4Address address = (Inet4Address) InetAddress.getByAddress(ip.getBytes());
if (!address.isSiteLocalAddress() && !address.isAnyLocalAddress() && !address.isLinkLocalAddress() && !address.isLoopbackAddress() && !address.isMulticastAddress()) {
return true;
}
}
catch (UnknownHostException exception) {}
return false;
}