file_get_contents() を使用してリダイレクト後に実際の URL を取得するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-31 10:43:02
オリジナル
848 人が閲覧しました

How to Retrieve the Actual URL after Redirection with file_get_contents()?

file_get_contents によるファイル取得後の実際の URL の取得

file_get_contents() を使用して Web サイトのコンテンツを取得する場合、指定された URL がリダイレクトされる可能性があります。別の場所へ。この機能は便利ですが、リダイレクト後に到達した実際の URL を確認する必要が生じる場合もあります。

これを実現する 1 つの方法は、リダイレクトを無視するように 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);</code>
ログイン後にコピー

ストリーム コンテキストで 'follow_location' を false に設定すると、file_get_contents() は自動的にリダイレクトに従うことなくコンテンツを取得します。

リクエストを行った後、ヘッダーが返されます。 HTTP 応答中に、最終 URL を取得するために検査できます:

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

これにより、リダイレクト後に到達した実際の URL を示す「Location」ヘッダーを含む、HTTP ヘッダーを含む配列が表示されます。

このアプローチは、Stack Overflow のスレッド「PHP で file_get_contents を使用してムーブされたヘッダーを無視するにはどうすればよいですか?」で提供されているソリューションからインスピレーションを得ています

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!