新聞中心
今天我們就以實(shí)例向大家講解php_curl庫(kù)的基本用法,加深大家對(duì)php_curl庫(kù)的理解程度,比如我們可以通過(guò)設(shè)置函數(shù)curl_setopt() 的不同參數(shù)來(lái)實(shí)現(xiàn)不同的效果等等一些強(qiáng)大的功能。

成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站制作、成都做網(wǎng)站與策劃設(shè)計(jì),象山網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:象山等地區(qū)。象山做網(wǎng)站價(jià)格咨詢:18980820575
簡(jiǎn)介
#t#你可能在你的編寫(xiě)PHP腳本代碼中會(huì)遇到這樣的問(wèn)題:怎么樣才能從其他站點(diǎn)獲取內(nèi)容呢?這里有幾個(gè)解決方式;最簡(jiǎn)單的就是在php中使用fopen()函數(shù),但是fopen函數(shù)沒(méi)有足夠的參數(shù)來(lái)使用,比如當(dāng)你想構(gòu)建一個(gè)“網(wǎng)絡(luò)爬蟲(chóng)”,想定義爬蟲(chóng)的客戶端描述(IE,firefox),通過(guò)不同的請(qǐng)求方式來(lái)獲取內(nèi)容,比如POST,GET;等等這些需求是不可能用fopen() 函數(shù)實(shí)現(xiàn)的。
為了解決我們上面提出的問(wèn)題,我們可以使用PHP的擴(kuò)展庫(kù)-Curl,這個(gè)擴(kuò)展庫(kù)通常是默認(rèn)在安裝包中的,你可以它來(lái)獲取其他站點(diǎn)的內(nèi)容,也可以來(lái)干別的。
備注:這兩段代碼需要php_curl擴(kuò)展庫(kù)的支持,查看phpinfo(),如果curl support enabled則表示支持curl庫(kù)。
1、Windows下的PHP開(kāi)啟curl庫(kù)支持:
打開(kāi)php.ini,將extension=php_curl.dll前的;號(hào)去掉。2、Linux下的PHP開(kāi)啟curl庫(kù)支持:
編譯PHP時(shí)在./configure后加上 –with-curl在這篇文章中,我們一起來(lái)看看如何使用curl庫(kù),并看看它的其他用處,但是接下來(lái),我們要從最基本的用法開(kāi)始
基本用法:
第一步,我們通過(guò)函數(shù)curl_init()創(chuàng)建一個(gè)新的curl會(huì)話,代碼如下:
- // create a new curl resource$ch = curl_init();?>
我們已經(jīng)成功創(chuàng)建了一個(gè)curl會(huì)話,如果需要獲取一個(gè)URL的內(nèi)容,那么接下的一步,傳遞一個(gè)URL給curl_setopt()函數(shù),代碼:
- // set URL and other appropriate options
- curl_setopt($ch, CURLOPT_URL, “http://www.google.com/”);
- ?>
做完上一步工作,curl的準(zhǔn)備工作做完了,curl將會(huì)獲取URL站點(diǎn)的內(nèi)容,并打印出來(lái)。代碼:
- // grab URL and pass it to the browser
- curl_exec($ch);
- ?>
最后,關(guān)閉當(dāng)前的curl會(huì)話
- //close curl resource, and free up system resources
- curl_close($ch);
- ?>
下面我們來(lái)看看完成的實(shí)例代碼:
- // create a new curl resource
- $ch = curl_init();
- // set URL and other appropriate options
- curl_setopt($ch, CURLOPT_URL, “http://www.google.nl/”);
- // grab URL and pass it to the browser
- curl_exec($ch);
- // close curl resource, and free up system resources
- curl_close($ch);
- ?>
我們剛剛把另外一個(gè)站點(diǎn)的內(nèi)容,獲取過(guò)來(lái)以后自動(dòng)輸出到瀏覽器,我們有沒(méi)有其他的方式組織獲取的信息,然后控制其輸出的內(nèi)容呢?完全沒(méi)有問(wèn)題,在curl_setopt()函數(shù)的參數(shù)中,如果希望獲得內(nèi)容但不輸出,使用CURLOPT_RETURNTRANSFER 參數(shù),并設(shè)為非0值/true!,完整代碼請(qǐng)看:
- // create a new curl resource
- $ch = curl_init();
- // set URL and other appropriate options
- curl_setopt($ch, CURLOPT_URL, “http://www.google.nl/”);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- // grab URL, and return output
- $output = curl_exec($ch);
- // close curl resource, and free up system resources
- curl_close($ch);
- // Replace ‘Google’ with ‘PHPit’
- $output = str_replace(’Google’, ‘PHPit’, $output);
- // Print output
- echo $output;
- ?>
在上面的2個(gè)php_curl庫(kù)實(shí)例中,你可能注意到通過(guò)設(shè)置函數(shù)curl_setopt() 的不同參數(shù),可以獲得不同結(jié)果,這正是curl強(qiáng)大的原因。
文章來(lái)源:http://cai555.javaeye.com/blog/343918
當(dāng)前文章:php_curl庫(kù)的基本應(yīng)用講解
網(wǎng)址分享:http://www.5511xx.com/article/coeojsh.html


咨詢
建站咨詢
