CURL

PHP使用CURL詳解

CURL是一個非常強大的開源庫部凑,支持很多協(xié)議蹭睡,包括HTTP、FTP枢舶、TELNET等懦胞,我們使用它來發(fā)送HTTP請求。它給我 們帶來的好處是可以通過靈活的選項設(shè)置不同的HTTP協(xié)議參數(shù)凉泄,并且支持HTTPS躏尉。CURL可以根據(jù)URL前綴是“HTTP” 還是“HTTPS”自動選擇是否加密發(fā)送內(nèi)容。

CURL的優(yōu)勢

你也許會說后众,我們來采集一個頁面胀糜,通常情況下颅拦,只要通過file_get_contents,file或者readfile函數(shù)就能輕松實現(xiàn)教藻,根本不必使用CURL距帅;

<?php
 $str = file_get_contents('http://www.reibang.com');
 //或者是:
$str = file("http://www.baidu.com");
 //或者是:
$str = readfile("http://www.aliyun.com");

沒錯,以上函數(shù)在某些情況下使用起來確實很方便括堤,但是我感覺這幾個函數(shù)不夠靈活碌秸,也沒法進行錯誤處理。而且悄窃,如果遇到要在php程序中向某個服務(wù)器提交表單數(shù)據(jù)讥电,上傳文件,處理cookies或者認證等任務(wù)時广匙,以上三個函數(shù)根本無法勝任允趟。這個時候,CURL就體現(xiàn)它的價值了鸦致。
CURL不但支持很多的網(wǎng)絡(luò)協(xié)議潮剪,而且提供了關(guān)于url請求的具體信息,很強大分唾!

CURL的簡單使用步驟

要使用cURL來發(fā)送url請求抗碰,具體步驟大體分為以下四步:
1.初始化,創(chuàng)建一個新cURL資源
2.設(shè)置URL和相應(yīng)的選項
3.抓取URL并把它傳遞給瀏覽器
4.關(guān)閉cURL資源绽乔,并且釋放系統(tǒng)資源
好弧蝇,現(xiàn)在我們來用代碼完成上述CURL的四步:

//1.初始化,創(chuàng)建一個新cURL資源
$ch = curl_init();
//2.設(shè)置URL和相應(yīng)的選項
curl_setopt($ch, CURLOPT_URL, "http://www.baidu.com");
curl_setopt($ch, CURLOPT_HEADER, 0);
//3.抓取URL并把它傳遞給瀏覽器
curl_exec($ch);
//4.關(guān)閉cURL資源折砸,并且釋放系統(tǒng)資源
curl_close($ch);

上述四步中看疗,其中第二步最為關(guān)鍵,可以設(shè)置一些高級選項睦授,詳見PHP手冊函數(shù)介紹:

curl_setopt

看到了吧两芳,只要在第二個函數(shù)之內(nèi)設(shè)置這些選項就可以完成相應(yīng)的功能,cURL的功能是灰常強大滴去枷,大家可以嘗試一下哦怖辆!

例如,我們只想把獲取到的內(nèi)容輸入到文件删顶,而不是直接輸出給瀏覽器竖螃,我們就可以使用CURLOPT_RETURNTRANSFER選項!

這樣在curl執(zhí)行的時候逗余,就會把頁面的內(nèi)容輸出到文件當(dāng)中特咆,我們就可以完成采集等功能啦!

效率方面录粱,curl的原理是模擬瀏覽器的操作坚弱,它的效率要比file_get_contents()高出四倍以上蜀备,試想一下,我們

要采集一個信息量特別龐大的站荒叶,運行效率的差別可想而知碾阁!

不單單是效率上,穩(wěn)定性上來說些楣,curl也遠比file_get_contents()函數(shù)要好很多脂凶!

這就是強大的curl,下文將給大家詳細介紹它的高級應(yīng)用愁茁,我們可以模擬瀏覽器的post傳值蚕钦,甚至上傳!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末鹅很,一起剝皮案震驚了整個濱河市嘶居,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌促煮,老刑警劉巖邮屁,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異菠齿,居然都是意外死亡绽快,警方通過查閱死者的電腦和手機陆馁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門顾翼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來烫止,“玉大人,你說我怎么就攤上這事疾棵「旮郑” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵是尔,是天一觀的道長逆趣。 經(jīng)常有香客問我,道長嗜历,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任抖所,我火速辦了婚禮梨州,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘田轧。我一直安慰自己暴匠,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布傻粘。 她就那樣靜靜地躺著每窖,像睡著了一般帮掉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上窒典,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天蟆炊,我揣著相機與錄音,去河邊找鬼瀑志。 笑死涩搓,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的劈猪。 我是一名探鬼主播昧甘,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼战得!你這毒婦竟也來了充边?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤常侦,失蹤者是張志新(化名)和其女友劉穎浇冰,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體刮吧,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡湖饱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了杀捻。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片井厌。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖致讥,靈堂內(nèi)的尸體忽然破棺而出仅仆,到底是詐尸還是另有隱情,我是刑警寧澤垢袱,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布墓拜,位于F島的核電站,受9級特大地震影響请契,放射性物質(zhì)發(fā)生泄漏咳榜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一爽锥、第九天 我趴在偏房一處隱蔽的房頂上張望涌韩。 院中可真熱鬧,春花似錦氯夷、人聲如沸臣樱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雇毫。三九已至玄捕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間棚放,已是汗流浹背枚粘。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留席吴,地道東北人赌结。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像孝冒,于是被迫代替她去往敵國和親柬姚。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容

  • cURL是一個利用URL語法規(guī)定來傳輸文件和數(shù)據(jù)的工具庄涡,支持很多協(xié)議和選項量承,如HTTP、FTP穴店、TELNET等撕捍,能...
    司馬東陽閱讀 1,431評論 0 6
  • 原文地址:PHPcURL庫函數(shù)抓取頁面內(nèi)容(轉(zhuǎn))作者:巴克 cURL是一個利用URL語法規(guī)定來傳輸文件和數(shù)據(jù)的工具...
    司馬東陽閱讀 1,172評論 0 3
  • 背景音樂:沒有人在乎你在乎的事 from 那我懂你意思了 今天終于邁向了向往了很久的坑,終于來簡書注冊了自己的賬號...
    臉大我有辦法噠閱讀 289評論 0 0
  • 放學(xué)后泣洞,通常都是自己一個人回家忧风,偶爾會碰上和自己同路的同學(xué),但那是少數(shù)球凰。不太喜歡那種被束縛的感覺狮腿,感覺一人...
    孫滸胡閱讀 283評論 0 1