yiisoft/yii2-httpclient是Yii2的HTTP客戶端擴展,專門用於調取遠端接口json
一:安裝yiisoft/yii2-httpclientapi
composer require yiisoft/yii2-httpclient
二:使用數組
1:get請求yii2
get請求我總結了如下一共可使用以下三種方式app
(1)使用get方法,傳遞的參數直接拼接在接口地址上composer
//接口地址: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方法的第二個參數上yii
//接口地址: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傳參post
//接口地址: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請求ui
post請求我總結了兩種請求方式url
(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);