ホームページ >Java >&#&チュートリアル >JavaでリダイレクトされたURLを取得するにはどうすればよいですか?

JavaでリダイレクトされたURLを取得するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-08 11:16:02216ブラウズ

How to Retrieve Redirected URLs in Java?

Java URL リダイレクトの取得

Java の URLConnection を介して Web ページにアクセスする場合、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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。