大家都知道Curl的功能比较强大,功能也比较多,但是今天我记录的仅仅只是Curl中最小最小的一块,就是Curl调用接口,我自己是当时拿着接口不知道怎么调用,所以知道了之后就记录下来,大神勿喷……haha……
1.Curl的基本结构
(1)初始化
curl_init()
(2)设置变量
curl_setopt()
(3)执行并获取结果
curl_exec()
(4)释放cURL句柄
curl_close()
2.Curl实现调用Get 和 Post接口
(1) Get方式实现
//初始化
$ch = curl_init();
//设置选项,包括URL
curl_setopt($ch, CURLOPT_URL, "http://www.nettuts.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
//执行并获取HTML文档内容
$output = curl_exec($ch);
//释放curl句柄
curl_close($ch);
//打印获得的数据
print_r($output);
(2)Post方式实现
$url = "http://localhost/web_services.php";
$post_data = array ("username" => "bob","key" => "12345");
//初始化
$ch = curl_init();
//设置选项
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// post数据
curl_setopt($ch, CURLOPT_POST, 1);
// post的变量
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$output = curl_exec($ch);
curl_close($ch);
//打印获得的数据
print_r($output);
注意:
1.以上方式获取到的数据是json格式的,使用json_decode函数解释成数组。
$output_array = json_decode($output,true);
如果使用json_decode($output)解析的话,将会得到object类型的数据。
2.打印错误码
if( curl_errno($ch)){
var_dump(curl_error($ch));
}
我们在测试的时候可以把这个代码加上,可以得到错误信息,但是需要注意的是这代码需要写在curl_close() 之前,不然很有可能会报错。其中的$ch就是curl_init()初始化的值