【发布时间】:2019-07-03 07:39:36
【问题描述】:
我正在尝试将 API 从一台服务器发送到另一台服务器,并在 curl_error($curl); 中获得此响应 HTTP/2 流 0 未完全关闭:PROTOCOL_ERROR (err 1)。收到此错误消息的频率很低,在 10 次尝试中只有 1 到 2 次。
但是为什么我会收到这个错误,是我失踪的任何具体原因吗?
我的卷曲代码是:
$data = http_build_query(array('param1' => 'test','status' => 'Success'));
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "server api link");
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($curl);
if (curl_error($curl)) {
$error_msg = curl_error($curl);
}
print_r($error_msg);
curl_close($curl);
查询与此链接curl php HTTP/2 stream 0 was not closed cleanly所问的相同
再次询问,因为在上一个链接中没有找到解决方案,即使在任何其他位置也没有。
【问题讨论】:
-
尝试使用HTTP1.1:
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); -
您是否检查过 API 文档是否包含一些示例?也许您完全以错误的方式使用 API
-
@CodyKL :在我的代码中实现了您的解决方案,并对其进行了几天的观察。将在 2 到 3 天内回复我的反馈。