You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CODEXSHAPER执行PUT请求遇cURL错误,如何修改HTTP版本?

解决CODEXSHAPER中PUT请求的cURL HTTP/2错误

问题背景

执行PUT请求时收到报错:

cURL Error: HTTP/2 stream 0 was not closed cleanly: Unknown error code (err 1)

需要强制cURL使用HTTP/1.1版本,对应配置代码:curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);

具体实现步骤

1. 优先使用框架自带配置项

多数封装框架会提供HTTP版本的配置入口:

  • 找到CODEXSHAPER的配置目录(通常是config/),查找http.php或类似配置文件;
  • 寻找http_version或相关字段,将其值设置为CURL_HTTP_VERSION_1_1或对应的字符串1.1;
  • 保存配置后重启应用,测试请求是否恢复正常。

2. 直接修改框架的cURL封装类

如果框架没有暴露配置项,找到封装cURL的核心类(比如src/Http/CurlClient.php或类似路径):

  • 定位到初始化cURL资源的方法(通常包含curl_init());
  • 在curl_init()之后、curl_exec()之前,插入以下代码:
curl_setopt($this->curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
  • 保存文件后重新测试请求。

3. 通过钩子/回调修改请求参数

若框架支持请求钩子:

  • 查找框架文档中关于请求前置回调的说明(比如before_send、pre_request等钩子);
  • 在回调函数中获取当前cURL资源实例,添加上述curl_setopt配置;
  • 注册钩子后执行请求验证效果。

验证方法

修改完成后,可通过开启cURL的调试模式(添加curl_setopt($curl, CURLINFO_HEADER_OUT, true);),打印请求头确认HTTP/1.1是否被使用。

内容的提问来源于stack exchange,提问作者outzo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 03:32:37