php curl請求接口並獲取數據

當咱們在作php開發的時候,不少時候須要對接口進行測試,或者更方便的調用一些已有模塊的接口,取到結果並進行後續操做,咱們能夠經過curl進行模擬提交post和get請求,來去實現這些功能。php

下面是對curl的post和get的封裝html

[html] view plain copy
  1. <?php  
  2.   
  3. /**  
  4.  * Created by PhpStorm.  
  5.  * User: thinkpad  
  6.  * Date: 2015/7/17 0017  
  7.  * Time: 13:24  
  8.  */  
  9. class Action  
  10. {  
  11.     public static function curl_get($url){  
  12.   
  13.            $testurl = $url;  
  14.            $ch = curl_init();    
  15.            curl_setopt($ch, CURLOPT_URL, $testurl);    
  16.             //參數爲1表示傳輸數據,爲0表示直接輸出顯示。  
  17.            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
  18.             //參數爲0表示不帶頭文件,爲1表示帶頭文件  
  19.            curl_setopt($ch, CURLOPT_HEADER,0);  
  20.            $output = curl_exec($ch);   
  21.            curl_close($ch);   
  22.            return $output;  
  23.      }  
  24.     /*  
  25.      * url:訪問路徑  
  26.      * array:要傳遞的數組  
  27.      * */  
  28.     public static function curl_post($url,$array){  
  29.   
  30.         $curl = curl_init();  
  31.         //設置提交的url  
  32.         curl_setopt($curl, CURLOPT_URL, $url);  
  33.         //設置頭文件的信息做爲數據流輸出  
  34.         curl_setopt($curl, CURLOPT_HEADER, 0);  
  35.         //設置獲取的信息以文件流的形式返回,而不是直接輸出。  
  36.         curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);  
  37.         //設置post方式提交  
  38.         curl_setopt($curl, CURLOPT_POST, 1);  
  39.         //設置post數據  
  40.         $post_data = $array;  
  41.         curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);  
  42.         //執行命令  
  43.         $data = curl_exec($curl);  
  44.         //關閉URL請求  
  45.         curl_close($curl);  
  46.       //得到數據並返回  
  47.         return $data;  
  48.     }  
  49. }  


以後就能夠經過CURL::curl_post($url,$array)或者CURL::curl_get($url);的方式調用接口並獲得數據了。數組

相關文章
相關標籤/搜索