libcurl - libcurl 未在 OpenWrt 上将 POST 请求升级到 HTTP/2
问题描述
当我用 编译 OpenWrt 图像时make menuconfig
,我选中 libcurl 框,然后选中该框以添加 HTTP/2 支持,并确保也选中了 nghttp2 库。在我发出请求的代码中,我将其CURLOPT_HTTP_VERSION
设置为,CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE
因为我的服务器在所有浏览器请求上都使用 HTTP/2,并且它通过 https。
为了测试,我在支持 HTTP/2 的 Ubuntu 机器上编译 curl,并向我在 OpenWrt 中请求的相同 URL 发出 POST 请求,并且该请求使用 HTTP/2。OpenWrt 中的 HTTP/2 是否存在已知问题?或者这是其他人已经遇到并已解决的问题?没有有用的调试数据,我已经挖掘了所有这些数据,有点不知所措。
编辑:我使用 mbedTLS 作为我的 TLS/SSL 后端,以防万一。
编辑更多信息:运行此代码段:
printf("%d\n", curl_version_info(CURLVERSION_NOW)->features & CURL_VERSION_HTTP2);
它打印了 0,然后运行:
printf("%d\n", curl_version_info(CURLVERSION_NOW)->features & CURL_VERSION_SSL);
它打印了 4。因此,即使我正在编译包含 libcurl 的图像,检查了 http2 支持并检查了 SSL 支持,但实际上只包含了 SSL。但是,mbedtls 和 libnghttp2 都有一个 .so。
对此的任何帮助都会很有用。
解决方案
推荐阅读
- javascript - Laravel 5.5 Passport client_secret 和 Vue JS Auth
- google-bigquery - BigQuery 表上次查询日期
- python - 将字典的 DataFrame 导出到 JSON 文件
- javascript - 单击以通过没有 Javascript 注入的 CSS 放大缩略图图像
- node.js - 节点 w/Express req.session 在 controller.js 中未定义
- php - 试图将 get_the_title 钩子添加到这一行
- typescript - 在角度 6 中使用 ngFor 对图像进行两种方式数据绑定
- python - 在启动 pyqt 主窗口之前验证许可证
- azure-devops - VSTS 中的可扩展敏捷结构
- c - 这个调用是引用还是 C 中的值?