首頁 >Java >java教程 >如何在 Java 中檢索重定向的 URL?

如何在 Java 中檢索重定向的 URL?

Susan Sarandon
Susan Sarandon原創
2024-11-08 11:16:02248瀏覽

How to Retrieve Redirected URLs in Java?

Java URL 重新導向擷取

透過 Java 的 URLConnection 存取網頁時,處理 URL 重新導向至關重要。若要取得重定向 URL,除了僅依賴「Set-Cookie」等標頭欄位之外,還有標準技術。

決定重定向URL 的主要方法是在建立連線後呼叫URLConnection 實例上的getUrl() :

URLConnection con = new URL(url).openConnection();

// Connect to the URL
con.connect();

// Obtain the redirected URL
URL redirectedURL = con.getURL();

無論中間回應或缺少「Location」標頭字段,此機制都能準確捕捉重定向的URL。

對於在獲取內容之前需要驗證重定向的情況,以下內容推薦方法:

HttpURLConnection con = (HttpURLConnection)(new URL(url).openConnection());

// Deactivate automatic redirection following
con.setInstanceFollowRedirects(false);

// Establish the connection
con.connect();

// Retrieve the response code
int responseCode = con.getResponseCode();

// Examine the response code for redirection
if (responseCode == HttpURLConnection.HTTP_MOVED_TEMP ||
    responseCode == HttpURLConnection.HTTP_MOVED_PERM ||
    responseCode == HttpURLConnection.HTTP_SEE_OTHER) {
    
    // Fetch the "Location" header field
    String location = con.getHeaderField("Location");
    
    // Print the redirected URL
    System.out.println(location);
}

這些方法提供了在Java 中處理URL 重定向的可靠機制,確保Web 導航過程中URL 資訊準確。

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

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