cURL は、URL 構文を使用してファイルやデータを転送するツールです。HTTP、FTP、TELNET などの多くのプロトコルをサポートしています。最も優れた点は、PHP が cURL ライブラリもサポートしていることです。この記事では、cURL の高度な機能と、それを PHP で使用する方法を紹介します。
cURL を使用する理由
はい、他の方法でも Web コンテンツを取得できます。ほとんどの場合、私は怠惰になりたいので、単純な PHP 関数を使用するだけです。
$content = file_get_contents("http://www.nettuts.com");
// or
$lines = file("http://www.nettuts.com");
// or
readfile( http://www.nettuts.com);
ただし、このアプローチには柔軟性と効果的なエラー処理が欠けています。さらに、Cookie の処理、検証、フォームの送信、ファイルのアップロードなど、いくつかの難しいタスクを完了するために使用することはできません。
引用:
cURL は、さまざまなプロトコルとオプションをサポートし、URL リクエストに関連するさまざまな詳細を提供できる強力なライブラリです。
基本構造
より複雑な関数を学ぶ前に、PHP で cURL リクエストを設定する基本的な手順を見てみましょう:
// 1. 初期化
$ch =curl_init();
// 2. URL などのオプションを設定
curl_setopt($ch, CURLOPT_URL, "http://www.nettuts.com");
curl_setopt($ ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
// 3. HTML ドキュメントの内容を実行して取得します
$output =curl_exec($ch);
// 4. Curl を解放しますハンドル
curl_close( $ch);
2 番目のステップ (つまり、curl_setopt()) が最も重要であり、すべての秘密がここにあります。 URL リクエストのさまざまな詳細を指定する、設定できる cURL パラメーターの長いリストがあります。これらをすべて一度に読んで理解するのは難しい場合があるため、今日はより一般的で便利なオプションのみを試します。
エラーをチェック
エラーをチェックするステートメントを追加できます (ただし、これは必須ではありません)。
// ...
$output =curl_exec($ch);
if ($output === FALSE) {
echo "cURL Error: " .curl_error($ch);
}
// ...
比較する際には、「== FALSE」ではなく「=== FALSE」を使用することに注意してください。空の出力とブール値 FALSE (実際のエラー) を区別する必要があるためです。