yiisoft/yii2-httpclient是Yii2的HTTP客户端扩展,专门用于调取远端接口
一:安装yiisoft/yii2-httpclient
composer require yiisoft/yii2-httpclient
二:使用
1:get请求
get请求我总结了以下一共可以使用如下三种方式
(1)使用get方法,传递的参数直接拼接在接口地址上
//接口地址:https://api.wj0511.com/v1/literary/detail?token=XXXXXX&id=351
$data = 'token=XXXXXX&id=351';//get传参
$client = new Client([
'baseUrl' => 'https://api.wj0511.com' //接口的入口地址
]);
$response = $client
->get('/v1/literary/detail?' . $data)
->send();
if (!$response->isOk) {
echo '接口请求错误';
}
//接口返回信息
var_dump($response->data);
(2):使用get方法,传递的参数放在get方法的第二个参数上
//接口地址:https://api.wj0511.com/v1/literary/detail?token=XXXXXX&id=351
//get参数
$data = [
'token' => 'XXXXXX',
'id' => '351',
];
$client = new Client([
'baseUrl' => 'https://api.wj0511.com' //接口的入口地址
]);
$response = $client
->get('/v1/literary/detail', $data)
->send();
if (!$response->isOk) {
echo '接口请求错误';
}
//接口返回信息
var_dump($response->data);
(3):使用setUrl实现get传参
//接口地址:https://api.wj0511.com/v1/literary/detail?token=XXXXXX&id=351
//接口地址加get传参
$url = 'https://api.wj0511.com/v1/literary/detail?token=XXXXXX&id=351';
$client = new Client();
$response = $client->createRequest()
->setMethod('GET') //设置为get请求
->setUrl($url) //接口地址
->send();
if (!$response->isOk) {
echo '接口请求错误';
}
//接口返回信息
var_dump($response->data);
2:post请求
post请求我总结了两种请求方式
(1)使用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);
(2)使用setUrl实现post传参
//接口地址
$url = 'https://api.wj0511.com/v1/login/login';
//post传参
$data = [
'user_name' => 'test',
'password' => 'test',
];
$client = new Client();
$response = $client->createRequest()
->setMethod('POST') // 请求方式
->setUrl($url) // 请求地址
->setData($data) //数据传数组
->setHeaders(['Content-Type'=>'application/json']) //header
->setFormat(Client::FORMAT_JSON) //提交的数据的格式
->send();
if (!$response->isOk) {
echo '接口请求错误';
}
//接口返回信息
var_dump($response->data);
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。