gpt4 book ai didi

php - Laravel Guzzle 不起作用,但 Curl 可以

转载 作者:可可西里 更新时间:2023-11-01 00:19:36 27 4
gpt4 key购买 nike

我正在使用 Guzzle用于使用外部 API。

我是这样使用的:

$client = new Client;
$request = $client->request('GET', 'https://api.callrail.com/v1/companies.json', [
'headers' => [
'Authorization' => 'Token token="my_api_string"'
]
]);

return dd($request);

这是输出

Stream {#255 ▼
-stream: stream resource @280 ▶}
-size: null
-seekable: true
-readable: true
-writable: true
-uri: "php://temp"
-customMetadata: []
}

但是当我像这样使用curl

$api_key = 'my_api_string';

$ch = curl_init($api_url);

curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Token token=\"{$api_key}\""));

$json_data = curl_exec($ch);

return dd($json_data);

输出看起来符合预期

{"page":1,"per_page":100,"total_pages":1,"total_records":11,
....
....

我对 Guzzle 做错了什么?

最佳答案

您已经正确设置了 Guzzle 请求,您只需要在检索它之后对 $request 做更多的事情。

在您的请求之后添加此行:

$result = json_decode($request->getBody());

将它添加到您的代码中,它看起来像这样:

$client = new Client;
$request = $client->request('GET', 'https://api.callrail.com/v1/companies.json', [
'headers' => [
'Authorization' => 'Token token="my_api_string"'
]
]);

$result = json_decode($request->getBody());

return dd($result);

关于php - Laravel Guzzle 不起作用,但 Curl 可以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34032519/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com