Yii2框架HTTP 客户端httpclient扩展的基本用法

2022年06月22日 阅读383次 分类:开发 标签:phpyii2资源

版权声明:本文为博主原创或转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:http://www.zhuyanjun.cn/development/1914.html

yii2的httpclients是一个模拟http协议的一个组件,封装好了http的请求方法,专门用于调取远端接口,是一个友好,成熟的扩展。

安装

composer require yiisoft/yii2-httpclient

使用

get请求

// 使用一
$client = new Client([
    'baseUrl' => 'https://api.wj0511.com' //接口的入口地址
]);
$response = $client
    ->get('/v1/literary/detail', [
    'token' => 'XXXXXX',
    'id' => '351',
])
    ->send();
if (!$response->isOk) {
    echo '接口请求错误';
}
//接口返回信息
var_dump($response->data);



// 使用二
$client = new Client();
$response = $client->createRequest()
    ->setMethod('GET')  //设置为get请求
    ->setUrl('https://api.wj0511.com/v1/literary/detail?token=XXXXXX&id=351')  //接口地址
    ->send();
if (!$response->isOk) {
    echo '接口请求错误';
}
//接口返回信息
var_dump($response->data);

post请求

// 使用一
//post传参
$data = [
    'user_name' => 'test',
    'password' => 'test',
];
$data = json_encode($data);
$client = new Client([
    'baseUrl' => 'https://api.wj0511.com'
]);
$response = $client
    ->post(
        //设置接口地址
        '/v1/login/login',
        //设置post传参
        $data,
        //设置header信息
        [
            'Content-Type'=>'application/json'
        ]
    )
    ->send();
if (!$response->isOk) {
    echo '接口请求错误';
}
//接口返回信息
var_dump($response->data);


// 使用二
$client = new Client();
$response = $client->createRequest()
    ->setMethod('POST') // 请求方式
    ->setUrl( 'https://api.wj0511.com/v1/login/login')      // 请求地址
    ->setData([
        'user_name' => 'test',
        'password' => 'test',
    ])    //数据传数据
    ->setHeaders(['Content-Type'=>'application/json']) //header
    ->setFormat(Client::FORMAT_JSON) //提交的数据的格式
    ->send();
if (!$response->isOk) {
    echo '接口请求错误';
}
//接口返回信息
var_dump($response->data);

文档

详细使用请参照官方文档:官方文档

(本篇完)

是不是学到了很多?可以

版权声明:本文为博主原创或转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:http://www.zhuyanjun.cn/development/1914.html