您好,登錄后才能下訂單哦!
這篇文章主要講解了“使用PHP的guzzle怎么添加請求頭”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“使用PHP的guzzle怎么添加請求頭”吧!
我們的一個yii的項目,需要調用一個第三方的接口,這個接口需要請求頭需要攜帶token信息,因此,在發送http請求時,需要在請求頭上對應的token。如下圖:
我們的項目請求第三方,使用的是guzzle組件,做了記錄,以防以后查詢使用
Guzzle是一個使得利用PHP實現發送HTTP 請求,方便和web service集成的PHP 客戶端模擬組件。
Guzzle介紹
簡單的接口構建query string,POST requests,streaming large uploads/downloads,使用HTTP cookies,上傳json data等。
可以使用相同的接口來發送同步和異步的請求。
使用PSR-7 interface for requests, response,stream.這允許你使用其他的PSR-7兼容的庫和Guzzle一起工作
將底層的HTTP傳輸層抽象屏蔽,允許你編寫環境和傳輸協議無關的代碼,即:再也沒有對cURL,PHP streams, sockets,或者non-blocking event loops強依賴的代碼。
中間件系統允許你增強你的客戶端行為。
Post/Get請求
發送請求前,我們需要實例化本地下載的guzzle use GuzzleHttp\Client; $client = new Client([ //跟域名 'base_uri' => 'http://localhost/test', // 超時,可設置可不設置 'timeout' => 2.0, ]); post請求 $response = $client->request('POST', 'http://localhost/post', [ 'form_params' => [ 'username' => 'webben', 'password' => '123456', 'multiple' => [ 'row1' => 'hello' ] ] ]); get請求 $response = $client->request('POST', 'http://localhost/post', [ 'query' => [ 'username' => 'webben', 'password' => '123456', ] ]); 或者 $response = $client->POST/GET('http://localhost/post', [ 'form_params' => [ 'username' => 'webben', 'password' => '123456', 'multiple' => [ 'row1' => 'hello' ] ] ]);
自定義header
$client = new Client([ //域名或者訪問的api接口地址 'base_uri' => 'http://localhost/test', // 超時,可設置可不設置 'timeout' => 2.0, ]); // $api可以為空,一般為api接口后綴,也可以直接寫到上面的base_uri里面, $response = $client->request('POST/GET', '$api', [ 'headers' => [ 'name' => 'info' ], 'query' => [ 'username' => 'webben', 'password' => '123456', ] ]);
如何要發送一個POST請求,并且需要添加header頭,而且post的數據是json格式,有兩種方式
postData是一個數組:
$postData = [ 'platform_no'=> $rms_platform_no, 'uuid' => $uuid, "data_info" => $param ];
方式一
$rs = $this->http($url , 'POST' , ['headers'=>$headers,'body'=>json_encode($postData)]);
方式二
$rs = $this->http($url , 'POST' , ['headers'=>$headers,'json'=>$postData]);
感謝各位的閱讀,以上就是“使用PHP的guzzle怎么添加請求頭”的內容了,經過本文的學習后,相信大家對使用PHP的guzzle怎么添加請求頭這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。