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

如何在Delphi 11中启用HTTP2协议?

Delphi 11 启用HTTP/2协议的配置方案

你写的NetHTTPClient1.ProtocolVersion := 'HTTP_2_0';赋值逻辑本身没有问题,没有生效是因为缺少了几个必要的前置配置,按以下步骤排查修改即可:

  • 启用高版本TLS支持
    HTTP/2协议强制要求底层使用TLS 1.2及以上版本加密传输,你需要先配置SSL版本参数:
// 优先启用TLS 1.3,兼容TLS 1.2
NetHTTPClient1.SSLVersions := [sslvTLSv1_2, sslvTLSv1_3];
// 再设置HTTP协议版本
NetHTTPClient1.ProtocolVersion := 'HTTP_2_0';
  • 确认组件绑定关系
    如果你配套使用TNetHTTPRequest组件发送请求,需要确保TNetHTTPRequest的Client属性已经正确绑定到你修改了配置的NetHTTPClient1实例,避免配置了未实际使用的空实例导致不生效。

  • 确认运行环境支持
    不同平台的HTTP/2支持依赖系统底层能力:

    • Windows平台需要系统版本为Windows 10 1607及以上,低版本Windows没有原生HTTP/2支持,组件会自动降级到HTTP/1.1
    • Linux、macOS平台需要系统内置的curl库版本不低于7.43.0
  • 确认目标服务端支持HTTP/2
    如果请求的目标服务端本身不支持HTTP/2,组件会自动触发兼容降级逻辑,你可以通过抓包或者直接查看请求返回的协议版本字段确认,也可以用命令curl -I --http2 你的目标接口地址提前验证服务端的HTTP/2支持能力。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 18:18:02