CURL是一個非常強大的開源庫,支持很多協(xié)議,包括HTTP、FTP、TELNET等,我們使用它來發(fā)送HTTP請求。它給我 們帶來的好處是可以通過靈活的選項設(shè)置不同的HTTP協(xié)議參數(shù),并且支持HTTPS。CURL可以根據(jù)URL前綴是“HTTP” 還是“HTTPS”自動選擇是否加密發(fā)送內(nèi)容。
使用CURL的PHP擴展完成一個HTTP請求的發(fā)送一般有以下幾個步驟:
1.初始化連接句柄;
2.設(shè)置CURL選項;
3.執(zhí)行并獲取結(jié)果;
4.釋放VURL連接句柄。
PHP.ini擴展開啟
![](http://img.jbzj.com/file_images/article/201903/201936163430518.png?20192616366)
//使用curl發(fā)送請求 第一個參數(shù)發(fā)送的url地址,第二個參數(shù)是否發(fā)送post請求,默認(rèn)是發(fā)送get請求,第三個就是請求的參數(shù),第四個參數(shù)是否發(fā)送https
function curl_request($url, $post=false, $param=[], $https = false)
{
//curl_init 初始化的時候傳遞url
$ch = curl_init($url);
//curl_setopt 設(shè)置一些請求選項,當(dāng)然get是默認(rèn)的也是最好處理的
if($post){
//設(shè)置請求方式和請求參數(shù),post請求,要設(shè)置的類型就是bool型的,那么我們肯定是啟用的設(shè)置為true,POSTFILEDS是傳遞的參數(shù),它的第三個參數(shù)就是傳遞的參數(shù)可以為一個數(shù)組類型的也就是我們的param
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $param);
}
// https請求,默認(rèn)會進行驗證
if($https){
//禁止從服務(wù)器端 驗證客戶端的證書,注意7.10開始默認(rèn)為開啟驗證的?。。?
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
}
//curl_exec 執(zhí)行請求會話(發(fā)送請求)
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$res = curl_exec($ch);
//curl_close 關(guān)閉請求會話
curl_close($ch);
return $res;
}
官網(wǎng)說明:
1、CURLOPT_POST
TRUE 時會發(fā)送 POST 請求,類型為:application/x-www-form-urlencoded,是 HTML 表單提交時最常見的一種。
2、CURLOPT_POSTFIELDS
操作來發(fā)送。要發(fā)送文件,在文件名前面加上@前綴并使用完整路徑。文件類型可在文件名后以 ';type=mimetype' 的格式指定。這個參數(shù)可以是 urlencoded 后的字符串,類似'para1=val1para2=val2...',也可以使用一個以字段名為鍵值,字段數(shù)據(jù)為值的數(shù)組。如果value是一個數(shù)組,Content-Type頭將會被設(shè)置成multipart/form-data。 從 PHP 5.2.0 開始,使用 @ 前綴傳遞文件時,value 必須是個數(shù)組。 從 PHP 5.5.0 開始, @ 前綴已被廢棄,文件可通過 CURLFile 發(fā)送。設(shè)置 CURLOPT_SAFE_UPLOAD 為 TRUE 可禁用 @ 前綴發(fā)送文件,以增加安全性。
3、CURLOPT_SSL_VERIFYPEER
FALSE 禁止 cURL 驗證對等證書(peer'scertificate)。要驗證的交換證書可以在 CURLOPT_CAINFO 選項中設(shè)置,或在 CURLOPT_CAPATH中設(shè)置證書目錄
以上所述是小編給大家介紹的PHP如何封裝CURL詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- php的curl封裝類用法實例
- php實現(xiàn)的Curl封裝類Curl.class.php用法實例分析
- php異步:在php中使用fsockopen curl實現(xiàn)類似異步處理的功能方法
- PHP封裝CURL擴展類實例
- php基于curl實現(xiàn)的股票信息查詢類實例
- PHP實現(xiàn)的CURL非阻塞調(diào)用類
- php curl操作API接口類完整示例
- PHP封裝curl的調(diào)用接口及常用函數(shù)詳解
- PHP封裝cURL工具類與應(yīng)用示例