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);
文档
详细使用请参照官方文档:官方文档