Guzzle引发401或406异常

时间:2015-01-12 23:50:45

标签: php curl guzzle

cURL工作正常:

curl -H "X-ApiToken: myapitoken" https://api.fulcrumapp.com/api/v2/records

Guzzle没有:

$client = new Client();
$request = $client->createRequest('GET', "https://api.fulcrumapp.com/api/v2/records");
$request->setHeader("X-ApiToken:" , "myapitoken");
$response = $client->send($request);

这会回复401错误:未经授权。这是我第一次使用Guzzle但在我的搜索中我没有看到这个错误。看起来像一个简单的请求,所以我不确定它为什么会失败。

谢谢!

2 个答案:

答案 0 :(得分:3)

我必须添加另一个标头来明确告诉它处理json

$request->setHeader("Accept" , "application/json");

感谢您指出401是错误的错误 - 真正的错误是406,这让我了解了如何实际修复它。

答案 1 :(得分:0)

setHeader方法采用不带冒号的标题名称。将"X-ApiToken:"更改为"X-ApiToken"