服務端與服務端之間,也存在接口編程。
比如我們網站服務端,需要發送短信、發送郵件、查詢快遞等,都需要調用第三方平台的接口。
1、php中發送請求
①file_get_contents函數 :傳遞完整的url參數 通常是get請求,有返回值(地址中的輸出)
②curl請求方式(PHP的curl函數庫):php中比較規范的一種發送請求方式。
2、CURL函數庫
Curl函數庫的使用流程:
①使用curl_init初始化請求會話
②使用curl_setopt設置請求一些選項
③使用curl_exec執行,發送請求
④使用curl_close關閉請求會話
②建議在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; } }

