首頁 > Java > java教程 > 主體

Java中如何決定重定向的URL?

Mary-Kate Olsen
發布: 2024-11-11 12:33:03
原創
219 人瀏覽過

How to Determine the Redirected URL in Java?

在 Java 中確定重定向的 URL

使用 URLConnection 訪問網頁時,經常會遇到重定向。當 URL 指向另一個目的地時,就會發生這種情況。要確定重新導向的 URL,我們需要了解 HTTP 重新導向的工作原理。

通常,伺服器會回應 3xx 狀態碼(例如 301、302),表示重新導向。回應包括指定新目的地的「Location」頭字段。但是,URLConnection 不會自動遵循重定向。

存取重新導向的 URL

要取得重新導向的 URL,我們可以在初始化後手動呼叫 URLConnection 上的 getInputStream()聯絡。此操作強制建立連接,伺服器發送最終回應,包括“Location”標頭。

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();
登入後複製

存取 Location 標頭

在某些情況下,我們可能會想在取得重定向的內容之前先造訪「Location」標頭。為此,我們可以使用 HttpURLConnection 並設定 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);
登入後複製

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板