概述
本博客的前面兩篇文章:curl和libcurl簡介以及PHP中使用curl對PHP中curl的使用做了簡單介紹,但是PHP中curl的使用卻並不簡單,尤其是curl的各種配置項,本篇文章會講解幾個PHP的實例,以便大家更好的理解curl。
實例:抓取頁面
使用curl抓取頁面相對來說比較簡單,但是這裡有一點需要注意的是,curl默認會將抓取的頁面直接輸出到浏覽器。然而,我們經常遇到的情況是獲取抓取的內容,對內容做一定的處理之後再進行操作。因此,這裡寫出兩種不同的情況。
直接輸出到浏覽器
復制代碼 代碼如下:
<?php
$url="www.baidu.com";
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_exec($ch);
curl_close($ch);
?>
運行上面這段代碼,我們會直接看到百度首頁。
不直接輸出到浏覽器
如果我們不想讓curl抓取的內容直接輸出到浏覽器,那麼就需要設置curl的“CURLOPT_RETURNTRANSFER”為true,這樣curl抓取的內容會作為curl_exec()函數的返回值出現。
復制代碼 代碼如下:
<?php
$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);
?>
運行代碼,我們可以看到頁面輸出了獲取的網頁源碼。