php中curl的詳細解說

cURL可以使用URL的語法模擬瀏覽器來傳輸數據,

因爲它是模擬瀏覽器,因此它同樣支持多種協議,

FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP等協議都可以很好的支持,包括一些:

HTTPS認證,HTTP POST方法,HTTP PUT方法,FTP上傳,keyberos認證,HTTP上傳,代理服務器,cookies,用戶名/密碼認證,

下載文件斷點續傳,上傳文件斷點續傳,http代理服務器管道,甚至它還支持IPv6,scoket5代理服務器,通過http代理服務器上傳文件

到FTP服務器等等。

這就是我們爲什麼要使用cURL的原因!

使用cURL完成簡單的請求主要分爲以下四步:

1.初始化,創建一個新cURL資源

2.設置URL和相應的選項

3.抓取URL並把它傳遞給瀏覽器

4.關閉cURL資源,並且釋放系統資源

我們來採集一個頁面,通常情況下,我們會使用file_get_contents()函數來獲取:

像這樣:

<?php$str = file_get_contents('http://bbs.lampbrother.net');//或者是:$str = file("http://bbs.lampbrother.net");//或者是:readfile("http://bbs.lampbrother.net");?>


這樣我們會發現,我們沒有辦法有效地進行錯誤處理,更重要的是我們沒有辦法完成一些高難度的任務:

如:處理cookies,驗證,表單提交,文件上傳等等。

好,現在我們來用代碼完成上述cURL的四步:

<?php//1.初始化,創建一個新cURL資源$ch = curl_init();//2.設置URL和相應的選項curl_setopt($ch, CURLOPT_URL, "http://yusure.cn/");curl_setopt($ch, CURLOPT_HEADER, 0);//3.抓取URL並把它傳遞給瀏覽器
$ch = curl_init();//2.設置URL和相應的選項curl_setopt($ch, CURLOPT_URL, "http://yusure.cn/");curl_setopt($ch, CURLOPT_HEADER, 0);//3.抓取URL並把它傳遞給瀏覽器curl_exec($ch);//4.關閉cURL資源,並且釋放系統資源curl_close($ch);?>


上述四步中,其中第二步最爲關鍵,可以設置一些高級選項:

例如上例中的CURLOPT_URL和CURLOPT_HEADER,分別代表“需要獲取的URL地址”和“啓用時會將頭文件的信息作爲數據流輸出”,這些只是冰山一角,我們還可以設置很多選項:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章