Wie kann man vermeiden, dass URL.equals Zugang zum Internet in Java braucht?
Frage
Die equals()
Methode der URL-Klasse in der Java-Klassenbibliothek macht eine DNS-Anfrage die IP für die Hostnamen zu erhalten, die zwei IP-Adressen für die Gleichstellung zu überprüfen. Dies geschieht auch für URLs, die aus dem gleichen String
erstellt werden. Gibt es eine Möglichkeit, diesen Internetzugang zu vermeiden?
Lösung
Verwenden Sie java.net.URI anstelle von URL.
Andere Tipps
Wenn Sie nur die URL-Strings vergleichen wollen, versuchen
url1.toString().equals(url2.toString())
Sie nicht URL.equals verwenden. Da die Dokumentation sagt:
. Hinweis: Die definierte Verhalten für
equals
ist bekannt, mit virtuellen Hosts in HTTP inkonsistent sein
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow