php curl請求接口並獲取數據
阿新 • • 發佈:2018-03-05
sta .net return create tag tar url 輸出顯示 實現
當我們在做php開發的時候,很多時候需要對接口進行測試,或者更方便的調用一些已有模塊的接口,取到結果並進行後續操作,我們可以通過curl進行模擬提交post和get請求,來去實現這些功能。
下面是對curl的post和get的封裝
[html] view plain copy- <?php
- /**
- * Created by PhpStorm.
- * User: thinkpad
- * Date: 2015/7/17 0017
- * Time: 13:24
- */
- class Action
- {
- public static function curl_get($url){
- $testurl = $url;
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_URL, $testurl);
- //參數為1表示傳輸數據,為0表示直接輸出顯示。
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- //參數為0表示不帶頭文件,為1表示帶頭文件
- curl_setopt($ch, CURLOPT_HEADER,0);
- $output = curl_exec($ch);
- curl_close($ch);
- return $output;
- }
- /*
- * url:訪問路徑
- * array:要傳遞的數組
- * */
- public static function curl_post($url,$array){
- $curl = curl_init();
- //設置提交的url
- curl_setopt($curl, CURLOPT_URL, $url);
- //設置頭文件的信息作為數據流輸出
- curl_setopt($curl, CURLOPT_HEADER, 0);
- //設置獲取的信息以文件流的形式返回,而不是直接輸出。
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
- //設置post方式提交
- curl_setopt($curl, CURLOPT_POST, 1);
- //設置post數據
- $post_data = $array;
- curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
- //執行命令
- $data = curl_exec($curl);
- //關閉URL請求
- curl_close($curl);
- //獲得數據並返回
- return $data;
- }
- }
之後就可以通過CURL::curl_post($url,$array)或者CURL::curl_get($url);的方式調用接口並得到數據了。
php curl請求接口並獲取數據