首页 > 后端开发 > 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 令牌

您的目标为您公司的 API 创建一个包装器。要使用 API 进行身份验证,您需要从 POST 请求的响应正文中提取令牌。使用流行的 Guzzle 库,您在访问 Guzzle 响应对象中的令牌时遇到困难。

Guzzle PSR-7 实现

Guzzle 遵循 PSR-7标准,它利用流包装器作为响应主体。这些流包装器使用 PHP 临时流实现,存储响应正文数据。

访问响应正文

要获取完整的响应正文,您可以利用 PHP 的字符串转换运算符:

$contents = (string) $response->getBody();
登录后复制

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

$contents = $response->getBody()->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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板