HTTP/2 客户端

适用于 Delphi/C++Builder 的原生 HTTP/2 客户端组件。多路复用流、标头压缩(HPACK)、通过 OpenSSL 或 Windows SChannel 的 TLS,以及完整的 RFC 9113 帧处理。

TsgcHTTP2Client

原生 HTTP/2 客户端 — 单条 TLS 连接上的多路复用流、HPACK 标头压缩、先验知识或 ALPN 升级,无需依赖 IIS / Apache / Indy。

组件类

TsgcHTTP2Client

平台

Windows, macOS, Linux, iOS, Android

版本

Standard / Professional / Enterprise

拖放组件,GET / POST

将 TsgcHTTP2Client 拖放到窗体,选择 IOHandler(OpenSSL 或 SChannel),然后使用目标 URL 调用 Get / Post / Put / Delete。

uses
  sgcHTTP, sgcHTTP2;

var
  HTTP2: TsgcHTTP2Client;
begin
  HTTP2 := TsgcHTTP2Client.Create(nil);
  HTTP2.TLSOptions.IOHandler := iohSChannel; // or iohOpenSSL

  // Add custom headers
  HTTP2.Request.CustomHeaders.Add('authorization: Bearer eyJ...');

  // GET
  Memo1.Text := HTTP2.Get('https://api.example.com/v1/items');
  ShowMessage(IntToStr(HTTP2.Response.Status));
end;
// uses: sgcHTTP, sgcHTTP2
TsgcHTTP2Client *HTTP2 = new TsgcHTTP2Client(this);
HTTP2->TLSOptions->IOHandler = iohSChannel;

HTTP2->Request->CustomHeaders->Add("authorization: Bearer eyJ...");

Memo1->Text = HTTP2->Get("https://api.example.com/v1/items");

内部功能

基于 sgcQUIC / sgcHTTP2 帧引擎构建的一流 HTTP/2 客户端 — 无需 IIS / Apache / Indy。

流多路复用

多个 GET / POST / PUT / DELETE 调用共享单条 TLS 连接。OnHTTP2StreamData 公开服务器推送承诺和每流事件。

HPACK 标头压缩

内置 HPACK 编码器/解码器 — CustomHeaders 在每次请求中针对动态表进行压缩。Cookie 和认证标头在各流间复用。

TLS 选项

TLSOptions.IOHandler 设为 iohSChannel(Windows 内核 TLS,无需 DLL)或 iohOpenSSL(跨平台)。ALPN h2 协商在握手期间进行。

先验知识

对于 h2c(明文 HTTP/2),设置 Specifications.HTTP2_PriorKnowledge — 适用于服务网格 sidecar 和受信任的内部链路。

Bearer / Basic / NTLM

Authentication.TokenAuthentication.BasicAuthentication.NTLM 处理常见方案。与 TsgcHTTP_JWT_Client 配合使用以生成和刷新 JWT。

支持 Apple Push、FCM

同一组件驱动 Apple 推送通知 HTTP/2 端点和 Firebase Cloud Messaging V1 — 详见相应页面的类型化接线说明。

规范与参考

本组件所实现协议的权威来源。

文档与演示

直达组件参考,获取可立即运行的演示项目,并下载试用版。

在线帮助 — TsgcHTTP2Client 本组件的完整属性、方法和事件参考。
演示项目 — Demos\20.HTTP_Protocol\01.HTTP2_Server_And_Client 可立即运行的示例项目,随 sgcWebSockets 包一起提供 — 请从下方下载试用版。
技术文档 (PDF) 仅涵盖本组件的功能、快速入门、Delphi 和 C++ Builder 代码示例及主要参考来源。
用户手册 (PDF) 涵盖库中每个组件的综合手册。

准备好在 Delphi 中采用 HTTP/2 了吗?

下载免费试用版,为您的 Delphi 应用程序添加多路复用 HTTP/2 通信。