laravel - Laravel Guzzle Basic Auth 成功返回空
问题描述
下面是我的代码。当我成功授权时, $this->token 得到空值。当我用 PHP Curl 尝试这个函数时,它运行良好,没有问题。
可能是什么问题呢?
顺便说一句,如果我尝试错误的密码或用户名,它会出错。
$client = new \GuzzleHttp\Client();
$response = $client->get($this->url . "/auth/getToken", [
'auth' => [
'myuser',
'mypassword'
]
]);
$this->token = $response;
解决方案
基于此代码示例,$this->token
将是一个实例,Psr\Http\Message\ResponseInterface
其实现将包含数组、整数和流资源。根据它在后续代码中的使用方式,它可能看起来是一个“空值”,基于 PHP 本身如何尝试转换它。
如果我们假设响应正文的全部内容,是所需的身份验证代码(不是格式良好的 json),我们可以将示例修改为:
$client = new \GuzzleHttp\Client();
$response = $client->get($this->url . "/auth/getToken", [
'auth' => [
'myuser',
'mypassword'
]
]);
$this->token = $response->getBody()->__toString();
// the __toString() is written to make PHP's casting explicit
或者:
$client = new \GuzzleHttp\Client();
$this->token = $client->get($this->url . "/auth/getToken", [
'auth' => [
'myuser',
'mypassword'
]
])
->getBody()
->__toString();
// the __toString() is written to make PHP's casting explicit
推荐阅读
- node.js - node.js 没有从 m3u8 文件生成完整的 m3u8 剪辑
- node.js - 推送被拒绝的 Heroku Node.JS
- hive - date_add 用于 Hive 中的时间戳
- node.js - 将 React API 调用提取到 Express 后端服务器
- r - 从 Shiny App 保存用户生成的 ggplot
- php - 需要为 Analytics 和 Reporting API 设置凭据的详细信息
- list - 将带有标题的部分添加到具有可扩展行的 SwiftUI 列表
- google-kubernetes-engine - 如何在同一服务器 GKE 中运行相同部署的 2 个 Pod 时发出警报
- c++ - C++ 入门第 5 版:表示整数序列的位集
- javascript - 如何将 div 对齐?