概述
本博客的前面兩篇文章:curl和libcurl簡介以及PHP中使用curl對PHP中curl的使用做了簡單介紹,但是PHP中curl的使用卻并不簡單,尤其是curl的各種配置項,本篇文章會講解幾個PHP的實例,以便大家更好的理解curl。
實例:抓取頁面
使用curl抓取頁面相對來說比較簡單,但是這里有一點需要注意的是,curl默認(rèn)會將抓取的頁面直接輸出到瀏覽器。然而,我們經(jīng)常遇到的情況是獲取抓取的內(nèi)容,對內(nèi)容做一定的處理之后再進(jìn)行操作。因此,這里寫出兩種不同的情況。
直接輸出到瀏覽器
<?php $url="www.baidu.com"; $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_exec($ch); curl_close($ch); ?>
運行上面這段代碼,我們會直接看到百度首頁。
不直接輸出到瀏覽器
如果我們不想讓curl抓取的內(nèi)容直接輸出到瀏覽器,那么就需要設(shè)置curl的“CURLOPT_RETURNTRANSFER”為true,這樣curl抓取的內(nèi)容會作為curl_exec()函數(shù)的返回值出現(xiàn)。
<?php $url="www.baidu.com"; $content=''; $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,TRUE); /* *根據(jù)手冊來看,好像PHP5.1.3以前的版本還需要配合CURLOPT_BINARYTRANSFER一起使用, *但是5.1.3以后的版本中,該配置項已經(jīng)被廢棄了。 */ //curl_setopt($ch, CURLOPT_BINARYTRANSFER,TRUE); $content=curl_exec($ch); var_dump($content); curl_close($ch); ?>
運行代碼,我們可以看到頁面輸出了獲取的網(wǎng)頁源碼。