加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – Laravel Guzzle不起作用,但Curl确实如此

发布时间:2020-12-14 19:34:55 所属栏目:大数据 来源:网络整理
导读:我正在使用 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); 这是
我正在使用 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: []
}

但是当我像这样使用卷曲时

$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',[
    'headers' => [
        'Authorization' => 'Token token="my_api_string"'
    ]
]);

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

return dd($result);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读