1. 程式人生 > >php curl請求接口並獲取數據

php curl請求接口並獲取數據

sta .net return create tag tar url 輸出顯示 實現

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

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

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


之後就可以通過CURL::curl_post($url,$array)或者CURL::curl_get($url);的方式調用接口並得到數據了。

php curl請求接口並獲取數據