首頁 > 後端開發 > php教程 > 如何存取 Guzzle HTTP v6 中的回應正文以檢索 API 令牌?

如何存取 Guzzle HTTP v6 中的回應正文以檢索 API 令牌?

Mary-Kate Olsen
發布: 2024-12-02 03:17:13
原創
678 人瀏覽過

How Do I Access the Response Body in Guzzle HTTP v6 to Retrieve API Tokens?

Guzzle HTTP 如何允許在版本6 中存取回應正文

使用PHP 檢索API 令牌

使用PHP 檢索API 令牌

您的目標為您公司的API 建立一個包裝器。若要使用 API 進行驗證,您需要從 POST 請求的回應正文中提取令牌。使用流行的 Guzzle 庫,您在存取 Guzzle 回應物件中的令牌時遇到困難。

Guzzle PSR-7 實作

Guzzle 遵循 PSR-7標準,它利用流包裝器作為回應主體。這些流包裝器使用 PHP 臨時流實現,儲存響應正文資料。

存取回應正文

$contents = (string) $response->getBody();
登入後複製

要取得完整的回應正文,您可以利用PHP 的字串轉換運算子:

$contents = $response->getBody()->getContents();
登入後複製

或者,流的getContents()方法可以是使用:

這些方法之間的主要區別在於 getContents() 的行為,它僅在第一次呼叫後傳回剩餘的內容。後續呼叫將傳回空字串,除非使用 rewind() 或eek() 調整流位置。

 'http://companysub.dev.myapi.com/']);
$response = $client->post('api/v1/auth/', [
    'form_params' => [
        'username' => $user,
        'password' => $password
    ]
]);

// Convert response body to string and decode JSON
$contents = (string) $response->getBody();
$data = json_decode($contents, true);

// Extract token
$token = $data['data']['token'];
登入後複製
範例程式碼

取得令牌後,您可以繼續使用它進行API認證。

以上是如何存取 Guzzle HTTP v6 中的回應正文以檢索 API 令牌?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板