PHP はバックエンド開発で広く使用されているプログラミング言語であり、cURL は World Wide Web やその他のアプリケーション サービスへのアクセスを提供する最も重要な拡張機能の 1 つです。 cURL を使用する場合、ジャンプをたどることは非常に便利な機能の 1 つです。この記事では、PHP で cURL を使用してリダイレクトを追跡する方法について説明します。
1. フォロー ジャンプとは
フォロー ジャンプは自動リダイレクトとも呼ばれ、HTTP リクエストのリダイレクト後にクライアントがリダイレクトされるかどうかを指します。手動でリクエストするのではなく、 につながる新しい URL を作成します。 Web アプリケーションでは、さまざまな理由 (サーバーの負荷分散、リダイレクト、ログインなど) でフォロー ジャンプを使用する必要がある場合があります。リクエストでフォロースルーが有効になっていない場合、クライアント アプリケーションは処理に戻ります。この時点で、リダイレクトは手動 (プログラム的に) 処理する必要があります。
2. cURL を使用してジャンプをたどります
cURL は、さまざまな代替ネットワークをサポートするオープン ソースのクライアント、ライブラリ、およびツールセットです。 HTTP リクエストは cURL ライブラリを使用して作成できるため、これを使用してリダイレクト URL を取得したり、すでに発生したリダイレクトを追跡して処理したりできます。
cURL を使用する場合、デフォルトではリダイレクトは追跡されません。フォロー リダイレクト関数を有効にするには、curl_setopt() 関数を使用し、その 2 番目のパラメーター CURLOPT_FOLLOWLOCATION を渡して設定します。
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://example.com/"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_exec($ch); curl_close($ch);
以下に示すように、cURL を使用してリダイレクト URL を簡単にキャプチャできます。
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://example.com/"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_NOBODY, true); $response = curl_exec($ch); $redirectedUrl = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL); curl_close($ch);
上記のコードでは、CURLOPT_RETURNTRANSFER は次のようになります。 true に設定すると、cURL が応答を直接出力するのではなく、応答を返すようになります。これら 2 つのパラメータ CURLOPT_HEADER と CURLOPT_NOBODY の機能は、リクエスト ヘッダーを処理することです。 curl_getinfo() 関数は、リダイレクトされた URL を取得するための CURLINFO_EFFECTIVE_URL など、cURL リソースに関する多くの情報を提供します。この関数を呼び出すときは、以前に作成した cURL セッションをこの関数で使用する必要があります。
3. 注意事項
cURL のフォローリダイレクト機能を使用する場合は、以下の点に注意する必要があります:
4. まとめ
この記事では、多くのWebアプリケーションでよく使われている非常に実用的な技術であるcURLを利用したフォロージャンプ機能を紹介します。プロセス。 cURL の使用は比較的複雑ですが、cURL を注意深く理解して使用することは、Web 開発者の作業に間違いなく役立ちます。
以上がPHPでジャンプを追跡するためにcurlを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。