我在 Guzzle 4.2 上收到 401,同样的设置也适用于 Postman。代码如下。
// Create a client with a base URL
$client = new GuzzleHttp\Client(['base_url' => 'cloud.feedly.com/v3/streams/contents?streamId=user/user-id/category/global.all&count=1']);
// Send a request to https://github.com/notifications
$response = $client->get();
//Auth
$response->addHeader('Authorization', "auth-code");
//send
$r = $response->send();
dd($r->json());
错误是:
GuzzleHttp \ Exception \ ClientException (401)
Client error response [url] cloud.feedly.com/v3/streams/contents?streamId=user/user-id/global.all&count=1 [status code] 401 [reason phrase] Unauthorized
看着文档页根据这一行:
$response = $client->get();
它将发送一个未经授权的 get 请求,因此会出现 401 响应。
请尝试以下方法
// Create a client with a base URL.
$client = new GuzzleHttp\Client();
$request = $client-> createRequest('GET', 'cloud.feedly.com/v3/streams/contents?streamId=user/user-id/category/global.all&count=1');
$request->setHeader('Authorization', "auth-code");
// Send.
$response = $client->send($request);
dd($response->json());
上面创建了一个请求,在其上设置授权标头。然后,一旦准备好,它就会实际发送。
我认为它在 Postman 中有效,因为您的标头已设置,如果您删除授权标头,它也可能会失败。
我还没有测试过这个,但认为它会起作用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)