cURL は、URL 構文を使用してファイルやデータを転送するツールで、HTTP、FTP、TELNET などの多くのプロトコルをサポートしています。最も優れた点は、PHP が cURL ライブラリもサポートしていることです。この記事では、cURL の高度な機能と、それを PHP で使用する方法を紹介します。
なぜ cURL を使用するのですか?
はい、他の方法で Web コンテンツを取得できます。ほとんどの場合、私は怠けたいので単純な PHP 関数を使用します:
$content = file_get_contents("http://www.aezo.cn"); // or $lines = file("http:/<span style="font-family: Simsun;">/www.aezo.cn</span><span style="font-family: Simsun;">");</span> // or readfile("http://www.aezo.cn");
ただし、このアプローチには柔軟性と効果的なエラー処理が欠けています。さらに、Cookie の処理、検証、フォームの送信、ファイルのアップロードなど、いくつかの難しいタスクを完了するために使用することはできません。
基本構造
さらに複雑な関数を学ぶ前に、PHP で cURL リクエストを設定する基本手順を見てみましょう:
// 1. 初始化 $ch = curl_init(); // 2. 设置选项,包括URL curl_setopt($ch, CURLOPT_URL, "http://www.aezo.cn"); 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 (実際のエラー) を区別する必要があるためです。
上記では、PHP ベースの cURL のクイック スタート (1) をさまざまな側面を含めて紹介しました。これが、PHP チュートリアルに興味のある友人に役立つことを願っています。