淺談PHP封裝CURL
CURL是一個(gè)非常強(qiáng)大的開(kāi)源庫(kù),支持很多協(xié)議,包括HTTP、FTP、TELNET等,我們使用它來(lái)發(fā)送HTTP請(qǐng)求。它給我 們帶來(lái)的好處是可以通過(guò)靈活的選項(xiàng)設(shè)置不同的HTTP協(xié)議參數(shù),并且支持HTTPS。CURL可以根據(jù)URL前綴是“HTTP” 還是“HTTPS”自動(dòng)選擇是否加密發(fā)送內(nèi)容。
使用CURL的PHP擴(kuò)展完成一個(gè)HTTP請(qǐng)求的發(fā)送一般有以下幾個(gè)步驟:
1.初始化連接句柄;
2.設(shè)置CURL選項(xiàng);
3.執(zhí)行并獲取結(jié)果;
4.釋放VURL連接句柄。
PHP.ini擴(kuò)展開(kāi)啟

//使用curl發(fā)送請(qǐng)求 第一個(gè)參數(shù)發(fā)送的url地址,第二個(gè)參數(shù)是否發(fā)送post請(qǐng)求,默認(rèn)是發(fā)送get請(qǐng)求,第三個(gè)就是請(qǐng)求的參數(shù),第四個(gè)參數(shù)是否發(fā)送https
function curl_request($url, $post=false, $param=[], $https = false)
{
//curl_init 初始化的時(shí)候傳遞url
$ch = curl_init($url);
//curl_setopt 設(shè)置一些請(qǐng)求選項(xiàng),當(dāng)然get是默認(rèn)的也是最好處理的
if($post){
//設(shè)置請(qǐng)求方式和請(qǐng)求參數(shù),post請(qǐng)求,要設(shè)置的類(lèi)型就是bool型的,那么我們肯定是啟用的設(shè)置為true,POSTFILEDS是傳遞的參數(shù),它的第三個(gè)參數(shù)就是傳遞的參數(shù)可以為一個(gè)數(shù)組類(lèi)型的也就是我們的param
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $param);
}
// https請(qǐng)求,默認(rèn)會(huì)進(jìn)行驗(yàn)證
if($https){
//禁止從服務(wù)器端 驗(yàn)證客戶(hù)端的證書(shū),注意7.10開(kāi)始默認(rèn)為開(kāi)啟驗(yàn)證的?。。?
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
}
//curl_exec 執(zhí)行請(qǐng)求會(huì)話(huà)(發(fā)送請(qǐng)求)
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$res = curl_exec($ch);
//curl_close 關(guān)閉請(qǐng)求會(huì)話(huà)
curl_close($ch);
return $res;
}
官網(wǎng)說(shuō)明:
1、CURLOPT_POST
TRUE 時(shí)會(huì)發(fā)送 POST 請(qǐng)求,類(lèi)型為:application/x-www-form-urlencoded,是 HTML 表單提交時(shí)最常見(jiàn)的一種。
2、CURLOPT_POSTFIELDS
操作來(lái)發(fā)送。要發(fā)送文件,在文件名前面加上@前綴并使用完整路徑。文件類(lèi)型可在文件名后以 ';type=mimetype' 的格式指定。這個(gè)參數(shù)可以是 urlencoded 后的字符串,類(lèi)似'para1=val1¶2=val2&...',也可以使用一個(gè)以字段名為鍵值,字段數(shù)據(jù)為值的數(shù)組。如果value是一個(gè)數(shù)組,Content-Type頭將會(huì)被設(shè)置成multipart/form-data。 從 PHP 5.2.0 開(kāi)始,使用 @ 前綴傳遞文件時(shí),value 必須是個(gè)數(shù)組。 從 PHP 5.5.0 開(kāi)始, @ 前綴已被廢棄,文件可通過(guò) CURLFile 發(fā)送。設(shè)置 CURLOPT_SAFE_UPLOAD 為 TRUE 可禁用 @ 前綴發(fā)送文件,以增加安全性。
3、CURLOPT_SSL_VERIFYPEER
FALSE 禁止 cURL 驗(yàn)證對(duì)等證書(shū)(peer'scertificate)。要驗(yàn)證的交換證書(shū)可以在 CURLOPT_CAINFO 選項(xiàng)中設(shè)置,或在 CURLOPT_CAPATH中設(shè)置證書(shū)目錄
以上所述是小編給大家介紹的PHP如何封裝CURL詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- php的curl封裝類(lèi)用法實(shí)例
- php實(shí)現(xiàn)的Curl封裝類(lèi)Curl.class.php用法實(shí)例分析
- php異步:在php中使用fsockopen curl實(shí)現(xiàn)類(lèi)似異步處理的功能方法
- PHP封裝CURL擴(kuò)展類(lèi)實(shí)例
- php基于curl實(shí)現(xiàn)的股票信息查詢(xún)類(lèi)實(shí)例
- PHP實(shí)現(xiàn)的CURL非阻塞調(diào)用類(lèi)
- php curl操作API接口類(lèi)完整示例
- PHP封裝curl的調(diào)用接口及常用函數(shù)詳解
- PHP封裝cURL工具類(lèi)與應(yīng)用示例
相關(guān)文章
解析php通過(guò)cookies獲取遠(yuǎn)程網(wǎng)頁(yè)的指定代碼
本篇文章是對(duì)php通過(guò)cookies獲取遠(yuǎn)程網(wǎng)頁(yè)的指定代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
PHP安全技術(shù)之 實(shí)現(xiàn)php基本安全
php開(kāi)發(fā)過(guò)程中,需要注意的一些安全小細(xì)節(jié),屏蔽錯(cuò)誤提示,多考慮下安全問(wèn)題。2010-09-09
PHP+Ajax實(shí)現(xiàn)無(wú)刷新分頁(yè)實(shí)例詳解(附demo源碼下載)
這篇文章主要介紹了PHP+Ajax實(shí)現(xiàn)無(wú)刷新分頁(yè)的方法,以完整實(shí)例形式詳細(xì)分析了PHP結(jié)合ajax實(shí)現(xiàn)無(wú)刷新分頁(yè)的具體步驟與相關(guān)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2016-04-04
PHP簡(jiǎn)單裝飾器模式實(shí)現(xiàn)與用法示例
這篇文章主要介紹了PHP簡(jiǎn)單裝飾器模式實(shí)現(xiàn)與用法,結(jié)合具體實(shí)例形式分析了php裝飾器模式的原理、實(shí)現(xiàn)與使用方法,需要的朋友可以參考下2017-06-06
PHP遠(yuǎn)程連接oracle數(shù)據(jù)庫(kù)操作實(shí)現(xiàn)方法圖文詳解
這篇文章主要介紹了PHP遠(yuǎn)程連接oracle數(shù)據(jù)庫(kù)操作實(shí)現(xiàn)方法,結(jié)合圖文形式詳細(xì)分析了php連接Oracle數(shù)據(jù)庫(kù)的相關(guān)配置、實(shí)現(xiàn)方法、遇到的問(wèn)題、解決方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-04-04
PHP基于curl post實(shí)現(xiàn)發(fā)送url及相關(guān)中文亂碼問(wèn)題解決方法
這篇文章主要介紹了PHP基于curl post實(shí)現(xiàn)發(fā)送url及相關(guān)中文亂碼問(wèn)題解決方法,結(jié)合具體實(shí)例形式分析了php使用curl實(shí)現(xiàn)post數(shù)據(jù)發(fā)送及content-type相關(guān)設(shè)置操作技巧,需要的朋友可以參考下2017-11-11
PHP頁(yè)面靜態(tài)化的優(yōu)缺點(diǎn)與實(shí)現(xiàn)
眾所周知,頁(yè)面靜態(tài)化是門(mén)戶(hù)網(wǎng)站研發(fā)中必備的一項(xiàng)技能,本課程從純靜態(tài)化和偽靜態(tài)化兩個(gè)角度進(jìn)行分析,帶領(lǐng)大家掌握在PHP中如何生成純靜態(tài)化頁(yè)面,在WEB服務(wù)器中如何配置偽靜態(tài),幫助大家掌握又一項(xiàng)加薪利器2023-02-02
PHP讀取XML文件的方法實(shí)例總結(jié)【DOMDocument及simplexml方法】
這篇文章主要介紹了PHP讀取XML文件的方法,結(jié)合實(shí)例形式總結(jié)分析了php基于DOMDocument及simplexml方法針對(duì)xml文件的載入、讀取等相關(guān)操作技巧,需要的朋友可以參考下2019-09-09

