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