【发布时间】:2020-07-16 19:59:07
【问题描述】:
我正在尝试使用 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 方法和相同的令牌执行相同的请求,它就可以工作。我得到了回应,没有问题。这很奇怪。
【问题讨论】:
-
试过关闭certificate verification?
new Client(['verify' => false]);?如果这样可行,则您的 CA 包可能已过期。 -
这个证书很奇怪。我从未使用证书来使用 Zoom 的 API。事实上,我有相同的脚本,具有相同的逻辑,工作,使用纯 PHP 的 CURL。我现在使用 Guzzle 的想法是让脚本更简单、更快速。所以,我不明白。我需要为此 getAsync 方法使用证书吗?
-
查看我链接的问题。如果您使用的是 HTTPS,则您使用的是私钥/公钥、证书,并且如果您在服务器上的 CA 捆绑包已过期,您将无法建立安全连接。如果跳过验证一切正常,则解决根本问题。
-
是的,我看到了。但我可以提出要求。问题是当我使用 Guzzle 和多个请求时。如果我只对该端点进行一次请求,它就可以工作。所以,这是关于证书的消息,但问题似乎是其他的。如果是证书问题,我将无法提出单个请求,对吗?