服務端CURL請求


服務端與服務端之間,也存在接口編程。

比如我們網站服務端,需要發送短信、發送郵件、查詢快遞等,都需要調用第三方平台的接口。

1、php中發送請求

①file_get_contents函數 :傳遞完整的url參數 通常是get請求,有返回值(地址中的輸出)

②curl請求方式(PHP的curl函數庫):php中比較規范的一種發送請求方式。

2、CURL函數庫

Curl函數庫的使用流程:

①使用curl_init初始化請求會話

②使用curl_setopt設置請求一些選項

③使用curl_exec執行,發送請求

④使用curl_close關閉請求會話

3、封裝請求函數

使用curl函數庫的前提:

①在php.ini中開啟php_curl擴展(必須開啟)

②建議在php.ini中開啟php_openssl擴展(本身不是curl必須的,是調用一些第三方接口需要的)

③如果以上操作重啟apache后,curl還是不能使用,需要將php安裝目錄設置到環境變量。

代碼封裝:

if(!function_exists('curl_request')){
    //發送curl請求
    function curl_request($url, $type = false, $params = [], $https=false)
    {
        //調用curl_init() 初始化請求
        $ch = curl_init($url);
        //調用curl_setopt()設置請求選項
        if($type){
            //true 發送post請求  false 默認發送get請求
            //post請求  設置請求方式
            curl_setopt($ch, CURLOPT_POST, true);
            //設置請求參數
            curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
        }
        //如果是https請求 需要禁止從服務器端驗證本地的證書
        if($https){
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        }
        //調用curl_exec() 發送請求 獲取結果
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $res = curl_exec($ch);
//        if(!$res){
//            //錯誤信息
//            $error = curl_error($ch);
//            //錯誤碼
//            $errno = curl_errno($ch);
//        }
        //調用curl_close() 關閉請求
        curl_close($ch);

        return $res;
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM