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