Heim >Java >javaLernprogramm >Wie ermittelt man die umgeleitete URL in Java?

Wie ermittelt man die umgeleitete URL in Java?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-11 12:33:03298Durchsuche

How to Determine the Redirected URL in Java?

Ermitteln der umgeleiteten URL in Java

Beim Zugriff auf Webseiten mit URLConnection kommt es häufig zu Weiterleitungen. Dies geschieht, wenn eine URL auf ein anderes Ziel verweist. Um die umgeleitete URL zu bestimmen, müssen wir verstehen, wie HTTP-Weiterleitungen funktionieren.

Normalerweise antwortet ein Server mit einem 3xx-Statuscode (z. B. 301, 302), der auf eine Umleitung hinweist. Die Antwort enthält ein Header-Feld „Location“, das das neue Ziel angibt. Die URLConnection folgt jedoch nicht automatisch Weiterleitungen.

Zugriff auf die umgeleitete URL

Um die umgeleitete URL zu erhalten, können wir nach der Initialisierung manuell getInputStream() für die URLConnection aufrufen Verbindung. Diese Aktion erzwingt den Verbindungsaufbau und der Server sendet die endgültige Antwort, einschließlich des „Location“-Headers.

URLConnection con = new URL(url).openConnection();
con.connect();
System.out.println("Original URL: " + con.getURL());
InputStream is = con.getInputStream();
System.out.println("Redirected URL: " + con.getURL());
is.close();

Zugriff auf den Location-Header

In einigen Fällen , möchten wir möglicherweise auf den Header „Location“ zugreifen, bevor wir den umgeleiteten Inhalt abrufen. Zu diesem Zweck können wir HttpURLConnection verwenden und setInstanceFollowRedirects(false):

HttpURLConnection con = (HttpURLConnection) (new URL(url).openConnection());
con.setInstanceFollowRedirects(false);
con.connect();
System.out.println("Response code: " + con.getResponseCode());
String location = con.getHeaderField("Location");
System.out.println("Location header: " + location);
setzen

Das obige ist der detaillierte Inhalt vonWie ermittelt man die umgeleitete URL in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn