php 自己封裝一個調用第三方接口的函數


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

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

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

//封裝 調用外部接口信息函數
if(!function_exists('curl_reuqest')){
    function curl_reuqest($url,$type=false,$params=[],$https=false){
        // 初始化請求
        $ch = curl_init($url);
        // 判斷發送什么請求,默認get請求
        if($type){
            // 設置請求方式
            curl_setopt($ch,CURLOPT_POST ,true);
            // 設置請求參數
            curl_setopt($ch,CURLOPT_POSTFIELDS,$params);
        }
        // 如果是https請求,設置禁止從服務器驗證本地證書
        if($https){
            curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
        }
        // 發送請求設置以文件流形式返回
        curl_setopt($ch,CURLOPT_RETURNTRANSFER ,true);
        $res = curl_exec($ch);
        // 調試運行時錯誤信息,調試完刪除
        if(!$res){
            // 錯誤信息
            $error = curl_error($ch);
            // 錯誤碼
            $error = curl_errno($ch);
        }
        // 關閉請求
        curl_close($ch);
        // 返回請求內容
        return $res;
    }

測試代碼

 <div>
            {foreach $list as $rows}
           快遞實時跟蹤時間: <span>{$rows['datetime']}</span></br>
           地址:<input type="text" name="" id="" value="{$rows['remark']}"><br>
            {/foreach}
</div>
public function index(){
// url地址
$url = "http://v.juhe.cn/exp/index?key=e82ce96ccb085c23faf007a887c8abfc&com=yt&no=806827436235013721";
// 請求方式 get
// 發送請求
$res = curl_reuqest($url);
// 對結果進行處理
if(!$res){
echo '請求錯誤';exit;
}
 
// 解析返回的數據 json格式的字符串
$arr = json_decode($res,true);
if($arr['resultcode'] != 200){
echo $arr['reason'];die;
echo '查詢失敗';die;
}
// 取出有用的字段
$list = $arr['result']['list'];
// 渲染頁面
return view('index',['list'=>$list]);
}

 

測試結果

 
        
快遞實時跟蹤時間: 2019-07-09 21:14:57
地址:
快遞實時跟蹤時間: 2019-07-09 22:09:10
地址:
快遞實時跟蹤時間: 2019-07-10 02:17:02
地址:
快遞實時跟蹤時間: 2019-07-10 03:25:52
地址:
快遞實時跟蹤時間: 2019-07-11 15:12:29
地址:


免責聲明!

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



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