HTTP/3 客户端组件 — sgcQUIC | eSeGeCe

HTTP/3 客户端

TsgcHTTP3Client — 一个 HTTP/3 客户端(RFC 9114),通过 QUIC 发送请求,支持 QPACK 头部压缩、Alt-Svc 发现、服务器推送、Extended CONNECT 隧道和 WebTransport 会话。同样的 HTTP 语义,全新的传输层,适用于 Delphi、C++ Builder 和 .NET。

TsgcHTTP3Client

连接到主机和端口,然后用您已经熟悉的动词发出请求。QPACK、Alt-Svc、推送和 WebTransport 均以方法和事件的形式暴露。基于 OpenSSL 3.5 原生 QUIC 引擎构建。

组件类

TsgcHTTP3Client

协议

HTTP/3 (RFC 9114) over QUIC

家族

HTTP/3

语言

Delphi, C++ Builder, .NET

通过 HTTP/3 发起 GET 请求

连接到主机和端口,然后发出请求。默认端口是 443。头部通过 QPACK 压缩,OnAltSvc 会告诉您何时公告了 HTTP/3。

uses
  sgcHTTP3_Client;

var
  oClient: TsgcHTTP3Client;
  vBody: string;
begin
  oClient := TsgcHTTP3Client.Create(nil);
  oClient.OnResponse := OnResponseHandler;
  oClient.OnAltSvc   := OnAltSvcHandler;

  oClient.Connect('www.example.com', 443);
  vBody := oClient.Get('https://www.example.com/');   // QPACK-compressed request
  oClient.Disconnect;
end;

// WebTransport session over HTTP/3 (RFC 9220):
oClient.WebTransportConnect('https://www.example.com/wt');
// includes: sgcHTTP3_Client.hpp

TsgcHTTP3Client *oClient = new TsgcHTTP3Client(NULL);
oClient->OnResponse = OnResponseHandler;
oClient->OnAltSvc   = OnAltSvcHandler;

oClient->Connect("www.example.com", 443);
String vBody = oClient->Get("https://www.example.com/");   // QPACK-compressed request
oClient->Disconnect();

// WebTransport session over HTTP/3 (RFC 9220):
oClient->WebTransportConnect("https://www.example.com/wt");
using esegece.sgcWebSockets;

var oClient = new TsgcHTTP3Client();
oClient.OnResponse += OnResponseHandler;
oClient.OnAltSvc   += OnAltSvcHandler;

oClient.Connect("www.example.com", 443);
var vBody = oClient.Get("https://www.example.com/");   // QPACK-compressed request
oClient.Disconnect();

// WebTransport session over HTTP/3 (RFC 9220):
oClient.WebTransportConnect("https://www.example.com/wt");

关键属性与方法

您最常使用的成员。

请求

GetHeadPostPutDelete 及其他动词(包括 IETF QUERY 方法)均以阻塞调用方式运行,大多数还提供异步变体。

连接

Connect(aHost, aPort)Disconnect 用于打开和关闭 QUIC 连接;HostPort 报告当前目标。

Alt-Svc 与推送

OnAltSvc 呈现 HTTP/3 可用性;SetMaxPushIdOnPushPromiseOnPush 控制服务器推送。

隧道与 WebTransport

ExtendedConnectTunnelSendOnTunnelData 驱动 RFC 9220 隧道;WebTransportConnect 打开一个 WebTransport 会话。

调优

UserAgentConnectTimeoutReadTimeoutMaxResponseSize 用于调优客户端。

事件

OnResponseOnErrorOnConnectOnDisconnectOnGoAway 报告响应和连接生命周期。

继续探索

在线帮助sgcQUIC 的完整 API 参考和使用指南。
所有 sgcQUIC 组件浏览全部四个组件的完整功能矩阵。
下载免费试用版针对任意启用 HTTP/3 的源站运行 HTTP/3 客户端。
价格Single、Team 和 Site 授权,均含完整源代码。
超值之选:All-AccesseSeGeCe 全部产品,含高级支持,每年 €1,059 起。
查看 All-Access 价格

准备好开始了吗?

下载免费试用版,从 Delphi、C++ Builder 和 .NET 发出您的第一个 HTTP/3 请求。