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

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

Linda Hamilton
リリース: 2024-10-28 23:32:30
オリジナル
964 人が閲覧しました

How to Get the Real URL After Redirection with file_get_contents() in PHP?

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

file_get_contents() を使用して Web サイトのコンテンツを取得する場合、指定された URL が別の場所にリダイレクトされます。このような場合、リダイレクト後に実際の URL を取得する必要があります。

file_get_contents() によるリダイレクトの処理

デフォルトでは、リダイレクトの後に file_get_contents() を使用します。自動リダイレクトを防ぐには、カスタム ストリーム コンテキストを利用できます。 「follow_location」オプションを false に設定すると、自動リダイレクトを無効にできます。

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

$html = file_get_contents('http://www.example.com/', false, $context);</code>
ログイン後にコピー

実際の URL へのアクセス

自動リダイレクトを無効にすると、 「http_response_header」配列からの実際の URL。このヘッダーには、リダイレクトされたページの場所を含む、さまざまな HTTP 応答の詳細が含まれています。

<code class="php">var_dump($http_response_header);</code>
ログイン後にコピー

「http_response_header」を出力すると、配列内の「Location」ヘッダーを見つけることができます。このヘッダー値は、リダイレクト後の実際の URL を示します。

インスピレーション

このソリューションは、スタック オーバーフローのディスカッションからインスピレーションを受けました: [移動されたヘッダーを無視するにはどうすればよいですか?] PHP の file_get_contents を使用しますか?](https://stackoverflow.com/questions/7253653/how-do-i-ignore-a-moved-header-with-file-get-contents-in-php)

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート