PHP使用cURL發(fā)送請(qǐng)求,cURL 是一個(gè)利用URL語(yǔ)法規(guī)定來(lái)傳輸文件和數(shù)據(jù)的工具,支持很多協(xié)議,如HTTP、FTP、TELNET等,我們使用它來(lái)發(fā)送HTTP請(qǐng)求。它給我 們帶來(lái)的好處是可以通過(guò)靈活的選項(xiàng)設(shè)置不同的HTTP協(xié)議參數(shù),并且支持HTTPS。本文將介紹cURL的一些特性,以及在PHP中如何運(yùn)用它。
使用CURL的PHP擴(kuò)展完成一個(gè)HTTP請(qǐng)求的發(fā)送一般有以下四個(gè)步驟:
1.初始化連接句柄curl_init();
2.設(shè)置CURL選項(xiàng)curl_setopt() ;
3.執(zhí)行并獲取結(jié)果curl_exec();
4.釋放VURL連接句柄curl_close()。
cURL實(shí)現(xiàn)GET
上述代碼中使用到了四個(gè)函數(shù)
curl_init() 和 curl_close() 分別是初始化CURL連接和關(guān)閉CURL連接,都比較簡(jiǎn)單。
curl_exec() 執(zhí)行CURL請(qǐng)求,如果沒(méi)有錯(cuò)誤發(fā)生,該函數(shù)的返回是對(duì)應(yīng)URL返回的數(shù)據(jù),以字符串表示滿(mǎn)意;如果發(fā)生錯(cuò)誤,該函數(shù)返回 FALSE。需要注意的是,判斷輸出是否為FALSE用的是全等號(hào),這是為了區(qū)分返回空串和出錯(cuò)的情況。
CURL函數(shù)庫(kù)里最重要的函數(shù)是curl_setopt(),它可以通過(guò)設(shè)定CURL函數(shù)庫(kù)定義的選項(xiàng)來(lái)定制HTTP請(qǐng)求。上述代碼片段中使用了三個(gè)重要的選項(xiàng):
CURLOPT_URL 指定請(qǐng)求的URL;
CURLOPT_RETURNTRANSFER 設(shè)置為1表示稍后執(zhí)行的curl_exec函數(shù)的返回是URL的返回字符串,而不是把返回字符串定向到標(biāo)準(zhǔn)輸出并返回TRUE;
CURLLOPT_HEADER設(shè)置為0表示不返回HTTP頭部信息。
CURL的選項(xiàng)還有很多,可以到PHP的官方網(wǎng)站(http://www.php.net/manual/en/function.curl-setopt.php)上查看CURL支持的所有選項(xiàng)列表。
cURL實(shí)現(xiàn)POST
PHP封裝好的curl請(qǐng)求類(lèi)
用法: