佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > 淺談PHP封裝CURL

淺談PHP封裝CURL

熱門標(biāo)簽:Linux服務(wù)器 銀行業(yè)務(wù) 科大訊飛語(yǔ)音識(shí)別系統(tǒng) Mysql連接數(shù)設(shè)置 服務(wù)器配置 電子圍欄 阿里云 團(tuán)購(gòu)網(wǎng)站

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è)置的類型就是bool型的,那么我們肯定是啟用的設(shè)置為true,POSTFILEDS是傳遞的參數(shù),它的第三個(gè)參數(shù)就是傳遞的參數(shù)可以為一個(gè)數(shù)組類型的也就是我們的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)證客戶端的證書(shū),注意7.10開(kāi)始默認(rèn)為開(kāi)啟驗(yàn)證的?。?!
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
 }
 //curl_exec 執(zhí)行請(qǐng)求會(huì)話(發(fā)送請(qǐng)求)
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 $res = curl_exec($ch);
 //curl_close 關(guān)閉請(qǐng)求會(huì)話
 curl_close($ch);
 return $res;
 }

官網(wǎng)說(shuō)明:

1、CURLOPT_POST
TRUE 時(shí)會(huì)發(fā)送 POST 請(qǐng)求,類型為:application/x-www-form-urlencoded,是 HTML 表單提交時(shí)最常見(jiàn)的一種。

2、CURLOPT_POSTFIELDS
操作來(lái)發(fā)送。要發(fā)送文件,在文件名前面加上@前綴并使用完整路徑。文件類型可在文件名后以 ';type=mimetype' 的格式指定。這個(gè)參數(shù)可以是 urlencoded 后的字符串,類似'para1=val1para2=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封裝類用法實(shí)例
  • php實(shí)現(xiàn)的Curl封裝類Curl.class.php用法實(shí)例分析
  • php異步:在php中使用fsockopen curl實(shí)現(xiàn)類似異步處理的功能方法
  • PHP封裝CURL擴(kuò)展類實(shí)例
  • php基于curl實(shí)現(xiàn)的股票信息查詢類實(shí)例
  • PHP實(shí)現(xiàn)的CURL非阻塞調(diào)用類
  • php curl操作API接口類完整示例
  • PHP封裝curl的調(diào)用接口及常用函數(shù)詳解
  • PHP封裝cURL工具類與應(yīng)用示例

標(biāo)簽:棗莊 江蘇 萍鄉(xiāng) 大理 衢州 蚌埠 衡水 廣元

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺談PHP封裝CURL》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    红桥区| 东兴市| 峨边| 普兰店市| 淮滨县| 英山县| 新龙县| 林西县| 哈密市| 平南县| 辽宁省| 沙田区| 龙门县| 青州市| 阿图什市| 余干县| 大方县| 横山县| 鹤山市| 田东县| 长顺县| 略阳县| 秀山| 尚志市| 台东县| 楚雄市| 丹棱县| 扶绥县| 瓦房店市| 射阳县| 赣榆县| 吉林省| 景洪市| 钟祥市| 麦盖提县| 武定县| 平原县| 遂川县| 新乐市| 辽宁省| 浙江省|