ホームページ  >  記事  >  バックエンド開発  >  PHP で file_get_contents() を使用する場合、リダイレクト後の最終 URL を取得するにはどうすればよいですか?

PHP で file_get_contents() を使用する場合、リダイレクト後の最終 URL を取得するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-28 09:52:29295ブラウズ

How Can I Get the Final URL After Redirects When Using file_get_contents() in PHP?

File_Get_Contents: 最終 URL の公開

問題: file_get_contents() を使用してコンテンツをスクレイピングしているときにリダイレクトが発生しましたが、本当の URL を明らかにしたいと考えています.

解決策:

通常、file_get_contents() はリダイレクトを処理しますが、明示的に制御が必要な場合は、次のアプローチを採用します。

<code class="php">// Disable automatic redirect following
$context = stream_context_create([
    'http' => [
        'follow_location' => false
    ]
]);

// Retrieve the content with no redirects
$html = file_get_contents('http://www.example.com/', false, $context);

// Access the HTTP response headers to determine the actual URL
var_dump($http_response_header);</code>

By 「follow_location」を false に設定すると、file_get_contents() がリダイレクトを自動的にたどることがなくなります。応答ヘッダー ($http_response_header で利用可能) には、リダイレクト後の真の URL を示す「Location」ヘッダーが含まれます。

ヒント: このアプローチは、「方法」で提供されるソリューションからインスピレーションを得ています。 PHP で file_get_contents を使用した move-header を無視しますか?

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

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