首頁  >  文章  >  Java  >  在 Java 中使用 URLConnection 時如何檢索重定向的 URL?

在 Java 中使用 URLConnection 時如何檢索重定向的 URL?

DDD
DDD原創
2024-11-06 18:22:03947瀏覽

How to Retrieve the Redirected URL When Using URLConnection in Java?

如何在Java 中識別重定向的URL

在Java 中,URLConnection 類別提供了一種與遠端URL 建立連接的便捷方法。然而,在涉及URL重定向的場景中,檢索到的URL可能不是最終目的地。確定實際重新導向的 URL 是一個挑戰。本文討論解決此問題的解決方案。

透過 URLConnection 存取 URL 時,伺服器可能會發送一個中間回應,其中包含指示重定向 URL 的 Location 標頭欄位。但是,openConnection() 方法不會擷取此中間回應。

利用 getInputStream() 方法

要捕獲重定向的 URL,getInputStream() 方法可以被利用。此方法啟動連接程序並遵循任何 HTTP 重定向。因此,URLConnection 實例現在保存有關重定向 URL 的資訊。

為了說明這一點,以下程式碼片段示範如何擷取重定向內容擷取之前

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

在某些情況下,可能需要在取得重定向URL 處的內容之前確定是否發生重定向。以下程式碼片段說明了這種方法:

以上是在 Java 中使用 URLConnection 時如何檢索重定向的 URL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn