ホームページ >バックエンド開発 >PHPチュートリアル >file_get_contents() を使用してリダイレクト後に実際の URL を取得する方法

file_get_contents() を使用してリダイレクト後に実際の URL を取得する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-10-29 04:59:02765ブラウズ

How to Get the Actual URL After Redirection Using file_get_contents()?

file_get_contents によるリダイレクト後の実際の URL の取得

file_get_contents() を使用して URL からコンテンツを取得する場合、新しい URL へのリダイレクトをスムーズに処理できます。 URL。ただし、場合によっては、リダイレクトが発生した後に実際の URL を判断する必要があることがあります。

解決策はありますか?

リダイレクトが発生した後に実際の URL を取得するには、カスタム ソリューションが必要です。 File_get_contents() はデフォルトでリダイレクトに従いますが、この動作はオーバーライドできます。

リダイレクト動作をオーバーライドする方法

自動リダイレクトを無効にして実際の URL を取得するには:

  1. stream_context_create() を使用してストリーム コンテキストを作成します。
  2. 自動リダイレクトを防ぐには、「follow_location」パラメータを false に設定します。
  3. file_get_contents() を呼び出すときに、変更されたストリーム コンテキストを使用します。 ).

コード スニペット:

<code class="php">$context = stream_context_create(
    array(
        'http' => array(
            'follow_location' => false
        )
    )
);

$html = file_get_contents('http://www.example.com/', false, $context);

var_dump($http_response_header);</code>

自動リダイレクトを無効にすると、$http_response_header 配列には、アクセスした実際の URL に関する情報が含まれ、必要な情報が提供されます。さらなる処理のためのデータ。

以上がfile_get_contents() を使用してリダイレクト後に実際の URL を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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