概要
このブログの最初の 2 つの記事:「curl と libcurl の概要」および「PHP でのcurlの使用」では、PHP でのcurlの使用について簡単に説明します。ただし、PHPでのcurlの使用、特にさまざまな構成項目は簡単ではありません。この記事では、誰もがcurlをよりよく理解できるように、いくつかのPHPの例を説明します。
例: ページを取得する
curl を使用してページをキャプチャするのは比較的簡単ですが、ここで注意すべき点は、デフォルトでは、curl はキャプチャしたページをブラウザに直接出力することです。ただし、クロールされたコンテンツを取得し、そのコンテンツに対して特定の操作を実行することがよくあります。したがって、ここでは 2 つの異なる状況が書かれています。
ブラウザに直接出力
コードをコピーします コードは次のとおりです:
$url="www.baidu.com";
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_exec($ch);
curl_close($ch);
?>
上記のコードを実行すると、Baidu のホームページが直接表示されます。
ブラウザに直接出力しません
curl によってキャプチャされたコンテンツをブラウザに直接出力したくない場合は、curl の「CURLOPT_RETURNTRANSFER」を true に設定する必要があります。そうすれば、curl によってキャプチャされたコンテンツは、curl_exec() 関数の戻り値として表示されます。 。
コードをコピーします コードは次のとおりです:
$url="www.baidu.com";
$content='';
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,TRUE);
/*
※マニュアルによると、PHP5.1.3以前のバージョンでもCURLOPT_BINARYTRANSFERを使用する必要があるようですが、
※ただし、5.1.3以降のバージョンでは、この設定項目は廃止されました。
*/
//curl_setopt($ch, CURLOPT_BINARYTRANSFER,TRUE);
$content=curl_exec($ch);
var_dump($content);
curl_close($ch);
?>
コードを実行すると、取得した Web ページのソース コードがページに出力されていることがわかります。