php curl請求接口並獲取數據


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

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

<?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);的方式調用接口並得到數據了。


免責聲明!

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



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