Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】CURLINFO_REDIRECT_URL定数の使い方

CURLINFO_REDIRECT_URL定数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

CURLINFO_REDIRECT_URL定数は、PHPのcURL拡張機能において、HTTPリクエストがリダイレクトされた際の最終的なURLを表す定数です。この定数は、curl_getinfo()関数と組み合わせて使用され、Webサーバーからの応答でリダイレクト(転送)が発生した場合に、実際にアクセスが成功した最終的なURLの情報を取得するために利用されます。

たとえば、特定のURLにアクセスを試みた際に、そのサーバーが別のURLへ自動的に誘導(301 Moved Permanentlyや302 FoundなどのHTTPステータスコードで)することがあります。このような状況で、元のURLではなく、最終的にコンテンツが取得されたURLを知りたい場合に、CURLINFO_REDIRECT_URL定数が役立ちます。

この定数を用いてリダイレクト先のURLを取得するには、事前にcurl_setopt()関数でCURLOPT_FOLLOWLOCATIONオプションをtrueに設定しておく必要があります。これにより、cURLがリダイレクトを自動的に追跡し、最終的な転送先までたどり着けるようになります。curl_getinfo()関数にCURLINFO_REDIRECT_URL定数を渡すと、リダイレクトが発生した場合の最終的なURLを表す文字列が返されます。もしリダイレクトが発生しなかったり、CURLOPT_FOLLOWLOCATIONが有効になっていなかったりした場合は、空の文字列が返されることがあります。この定数は、Webサイトの構造を解析したり、リンクの最終的な到達点を確認したりする際に重要な情報を提供します。

構文(syntax)

1<?php
2$ch = curl_init();
3curl_setopt($ch, CURLOPT_URL, "https://httpbin.org/redirect-to?url=https://httpbin.org/get");
4curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
5curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
6curl_exec($ch);
7$redirectUrl = curl_getinfo($ch, CURLINFO_REDIRECT_URL);
8echo $redirectUrl;
9curl_close($ch);

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ