使用 Guzzle PHP 发送请求时获取"Invalid user credentials supplied"



我将绝对相同的请求发送到guzzle php和postman扩展名的端点。

在向Postman发送请求时 - 我确实会收到响应,但是当我用guzzle发送相同的请求时,我会得到"提供的无效用户凭据"。

我有auth类型基本,并为两个应用程序提供相同的用户名/密码。这是我用于guzzle的代码:

    $credentials = [$client->api_username, $client->decrypted_password, 'basic'];
    $result = $this->client->get($fullUrl, [
       'auth' => $credentials
    ]);

我已经倾倒了凭据 - 这是正确的数组。我已经仔细检查了guzzle文档。有趣的是,当我试图向另一个用户发送相同端点的请求时 - 我确实收到正确的响应,这让我认为,我可能会在凭据中输入错别字 - 但是我已经重新检查了 - 甚至从Postman粘贴了复制 - 仍然无法收到响应:/

您是否喜欢分享您的变量$credentials作为数据的内容?如果尝试下面的代码进行测试并有效:

$client  = new Client();
$this->results = $client->request('GET/POST', $uri, [
  'debug' => true,
  'query'   => $arguments,
  'auth'    => [$username, $password],
  'verify'  => false
])->getBody();

,如果您询问其他参数,例如verify,此属性会告诉Guzzle禁用证书验证。

阅读下面:http://docs.guzzlephp.org/en/stable/request-options.html#verify

有关auth的更多信息:http://docs.guzzlephp.org/en/stable/request-options.html#auth

您能比较邮递员和guzzle的Authentication标头吗?如果您从Guzzle那里得到例外,则可以像$exception->getRequest()->getHeader('Authentication')一样获得它。

相关内容

最新更新