Метод equals()
класса URL в библиотеке классов Java делает запрос DNS для получения IP-адреса для имени хоста, чтобы проверить два IP-адреса для равенства. Это происходит даже для URL-адресов, созданных из того же String
. Есть ли способ избежать этого доступа в Интернет?
Как избежать, чтобы URL.equals нуждался в доступе к Интернету на Java?
Ответ 1
Используйте java.net.URI вместо URL.
Ответ 2
Если вы просто хотите сравнить строки URL, попробуйте
url1.toString().equals(url2.toString())
Ответ 3
Не используйте URL.equals. Как говорится в документации,
Примечание. Определенное поведение для
equals
, как известно, несовместимо с виртуальным хостингом в HTTP.