HTTP/3 客户端
TsgcHTTP3Client — 一个 HTTP/3 客户端(RFC 9114),通过 QUIC 发送请求,支持 QPACK 头部压缩、Alt-Svc 发现、服务器推送、Extended CONNECT 隧道和 WebTransport 会话。同样的 HTTP 语义,全新的传输层,适用于 Delphi、C++ Builder 和 .NET。
TsgcHTTP3Client — 一个 HTTP/3 客户端(RFC 9114),通过 QUIC 发送请求,支持 QPACK 头部压缩、Alt-Svc 发现、服务器推送、Extended CONNECT 隧道和 WebTransport 会话。同样的 HTTP 语义,全新的传输层,适用于 Delphi、C++ Builder 和 .NET。
连接到主机和端口,然后用您已经熟悉的动词发出请求。QPACK、Alt-Svc、推送和 WebTransport 均以方法和事件的形式暴露。基于 OpenSSL 3.5 原生 QUIC 引擎构建。
连接到主机和端口,然后发出请求。默认端口是 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");
您最常使用的成员。
Get、Head、Post、Put、Delete 及其他动词(包括 IETF QUERY 方法)均以阻塞调用方式运行,大多数还提供异步变体。
Connect(aHost, aPort) 和 Disconnect 用于打开和关闭 QUIC 连接;Host 和 Port 报告当前目标。
OnAltSvc 呈现 HTTP/3 可用性;SetMaxPushId、OnPushPromise 和 OnPush 控制服务器推送。
ExtendedConnect、TunnelSend 和 OnTunnelData 驱动 RFC 9220 隧道;WebTransportConnect 打开一个 WebTransport 会话。
UserAgent、ConnectTimeout、ReadTimeout 和 MaxResponseSize 用于调优客户端。
OnResponse、OnError、OnConnect、OnDisconnect 和 OnGoAway 报告响应和连接生命周期。