ホームページ  >  記事  >  Java  >  Java でリダイレクトされた URL を特定する方法: 標準的なアプローチと事前コンテンツ チェック?

Java でリダイレクトされた URL を特定する方法: 標準的なアプローチと事前コンテンツ チェック?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-07 07:52:02370ブラウズ

How to Determine Redirected URLs in Java: Standard Approach and Pre-Content Check?

Java でリダイレクトされた URL を確認する方法

Java では、URLConnection を使用して Web ページにアクセスするときに、初期 URL が別の場所にリダイレクトされます。リダイレクトされた URL を特定することは、さらなる処理や分析にとって重要な場合があります。

この記事では、ヘッダー フィールド情報からリダイレクトされた URL を取得する方法を調査し、URLConnection を使用した標準的なアプローチを紹介します。

Gettingヘッダー フィールドからリダイレクトされた URL

以前は、Set-Cookie ヘッダー フィールドからリダイレクトされた URL を抽出しましたが、これは標準的な方法ではありません。ただし、Location ヘッダー フィールドにアクセスすると、リダイレクトされた URL を見つける信頼性の高い方法が提供されます。

URLConnection を使用した標準的なアプローチ

  1. 元の URLConnection インスタンスを作成するURL.
  2. connect() を使用して URL に接続します。
  3. 接続後、getInputStream() を使用してコンテンツにアクセスします。
  4. コンテンツを取得した後、getURL() を呼び出しますURLConnection を使用して、リダイレクトされた最終 URL を取得します。
URLConnection con = new URL(url).openConnection();
con.connect();
InputStream is = con.getInputStream();
System.out.println("Redirected URL: " + con.getURL());
is.close();

コンテンツを取得する前にリダイレクトを決定する

コンテンツを取得する前にリダイレクトについて知る必要がある場合は、

  1. HttpURLConnection インスタンスを作成します。
  2. 自動リダイレクトを防ぐために setInstanceFollowRedirects(false) を設定します。
  3. connect() を使用して URL に接続します。 .
  4. 応答コード (getResponseCode()) をチェックして、リダイレクトが発生したかどうかを確認します。
  5. リダイレクトが発生した場合は、getHeaderField("Location") を使用して新しい場所を取得します。
HttpURLConnection con = (HttpURLConnection)(new URL(url).openConnection());
con.setInstanceFollowRedirects(false);
con.connect();
int responseCode = con.getResponseCode();
String location = con.getHeaderField("Location");

以上がJava でリダイレクトされた URL を特定する方法: 標準的なアプローチと事前コンテンツ チェック?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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