为什么我在使用 Guzzle 执行多个请求时会收到 cURL 错误 77?

Why am I getting cURL error 77 doing multiple requests using Guzzle?

我正在尝试使用 Guzzle 发出多个请求,但当我尝试获得响应时,我一直收到 cURL 77 error。我正在使用 JWT 连接到 Zoom API。我有一个包含 700 个项目的数组,因此对于每个项目,我正在尝试使用 getAsync 传递 jwt 令牌创建一个请求。

我的代码是这样的:

foreach ($agrupado as $registro) {
$requestArr[$registro['id']] = $cliente->getAsync('https://api.zoom.us/v2/webinars/'.$id.'/registrants/'.$registro['id'], [
                'headers' => [
                    'Authorization' => 'Bearer '.$jwt
                ]]);
}
$respostas = \GuzzleHttp\Promise\unwrap($requestArr);
var_dump($respostas);

如果我使用 get 方法和相同的标记执行相同的请求,它就可以工作。我得到了回应,没有问题。很奇怪。

我找到了 this 教程,现在我可以使用 Guzzle 向 Zoom 发出多个请求 API。

我认为问题在于我发出了很多请求,而 API 在某个时候拒绝了呼叫。我知道这一点,因为我用一些请求对其进行了测试,例如 5 或 10。它很好。当我做了 30 个请求时,我得到了证书错误。

因此,我使用 Guzzle 的承诺和 EachPromise class 在 this 教程(Promise 中的并发)中实现了示例。我保持较低的并发数,并在脚本末尾使用等待方法。现在一切正常。