PHPのライブラリ `cURL` は、海外のサーバからデータをダウンロードするのに適した方法である。
クエリに基づいてHTTPリクエストを構築し、ターゲットサーバーに送信する。ダウンロード後は、(比較的)簡単にデータを扱えるAPIを搭載している。
ネイティブの file_get_contents
関数 (これを通じて HTTP リクエストも可能) とは異なり、より優れた設定オプションを提供し、本物のブラウザのようにページやファイルをダウンロードします。
file_get_contents
関数は内部でcURL
ライブラリを使用しており、それほど詳細な設定オプションはありません。
現在のリクエストが cUrl
を介して行われたのか、それとも古典的なブラウザで行われたのかを検出することは、しばしば有用である。
PHPにはこのための直接的な実装はありませんが、簡単な関数を自作することができます。
function isCurl(): bool{return str_contains($_SERVER['http_user_agent'] ?? '', 'カール');}
LinuxとそのTerminal、またはMacをお使いの場合は、このコマンドを試してみてください。
curl https://php.baraja.cz/curl
このコマンドは、このサイトに対して内部リクエストを行い、その結果を返す。
アプリケーションがcURLリクエストを検出しなかった場合、ブラウザからリクエストがあったかのようなHTMLが返されます。しかし、リクエストタイプは検出されるので、クリーンアップされたMarkdownの記事を返すことを妨げるものは何もありません。
その結果、よりクリーンなデータが得られるというメリットがあります。ブラウザで見るユーザーには整形されたHTMLを見せ、ロボットには基本的な内容だけを見せるのです。
cUrlの詳しい使い方を知りたい方は、常に最新の情報を提供している公式ドキュメントを読むことをお勧めします。
カジュアルな使い方としては、Guzzle というライブラリがあります。
Jan Barášek Více o autorovi
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.
Rád vám pomůžu:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | ja