1

我正在尝试使用 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方法和相同的令牌执行相同的请求,它就可以工作。我得到了回应,没有问题。这很奇怪。

4

1 回答 1

0

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

我认为问题在于我提出了很多请求,而 API 在某些时候拒绝了这些调用。我知道这一点,因为我用几个请求测试了它,比如 5 或 10。这很好。当我提出 30 个请求时,我收到证书错误。

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

于 2020-07-20T15:54:17.087 回答