guzzle6 - 使用 Guzzle 6 读取流
问题描述
我正在尝试使用 Guzzle 6 从 api 读取数据,但找不到任何相关示例。从 api 返回的每一行都是一个 json 对象 - 目的是在收到每一行时对其进行处理。
到目前为止我的代码如下,有人可以告诉我在哪里感到困惑吗?
谢谢
ini_set('display_errors', true);
require('vendor/autoload.php');
use GuzzleHttp\Client;
use GuzzleHttp\Stream\Stream;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\Psr7\Request;
$token = "1234";
$client = new Client(['base_uri' => 'https://apiurl.com'], ['stream' => true, 'debug'=>true]);
$headers = [
'Authorization' => 'Bearer ' . $token,
'Accept' => 'application/json',
];
$response = $client->request('GET', '?foo=bar', ['headers' => $headers ]);
$body = $response->getBody();
while (!$body->eof()) {
echo $body->read(1024);
}
解决方案
事实证明,经过数小时的测试,创建客户端时出现了一个简单的错误——正确的设置如下:
$client = new Client(['base_uri' => 'https://apiurl.com', 'stream' => true, 'debug'=>true]);
推荐阅读
- sql - SQL 使用新的外键复制数据
- c# - 如何获取 Xamarin 形式的实时视频处理帧?
- javascript - 无法使 Cypress 和 Pact 一起工作
- python - psycopg2 execute_values DELETE 语句返回语法错误
- sql - 尝试学习 SQL 聚合和子查询
- ios - 不变违规:本机模块不能为空。[React-Native IOS]
- shopify - 在渲染标签内循环
- javascript - react-js 中的 useRef() 出现未定义错误
- r - 在R中将个人价值与多个子组均值进行直观比较的最佳方法
- python-3.x - 将字符串转换为 hacspec.speclib。python中的_array