Componente client HTTP/3 — sgcQUIC | eSeGeCe

Client HTTP/3

TsgcHTTP3Client — un client HTTP/3 (RFC 9114) che invia richieste su QUIC con compressione delle intestazioni QPACK, discovery Alt-Svc, server push, tunnel Extended CONNECT e sessioni WebTransport. La stessa semantica HTTP che conosci, su un nuovo trasporto, in Delphi, C++ Builder e .NET.

TsgcHTTP3Client

Connettiti a un host e una porta, poi invia richieste con i verbi che già usi. QPACK, Alt-Svc, push e WebTransport sono esposti come metodi ed eventi. Costruito sul motore QUIC nativo di OpenSSL 3.5.

Classe del componente

TsgcHTTP3Client

Protocollo

HTTP/3 (RFC 9114) su QUIC

Famiglia

HTTP/3

Linguaggi

Delphi, C++ Builder, .NET

Una richiesta GET su HTTP/3

Connettiti a un host e una porta, poi invia richieste. La porta predefinita è 443. Le intestazioni sono compresse con QPACK, e OnAltSvc ti segnala quando HTTP/3 viene annunciato.

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");

Proprietà e metodi principali

I membri che userai più spesso.

Richieste

Get, Head, Post, Put, Delete e gli altri verbi (incluso il metodo IETF QUERY) vengono eseguiti come chiamate bloccanti, la maggior parte con una variante asincrona.

Connessione

Connect(aHost, aPort) e Disconnect aprono e chiudono la connessione QUIC; Host e Port indicano la destinazione corrente.

Alt-Svc e push

OnAltSvc espone la disponibilità di HTTP/3; SetMaxPushId, OnPushPromise e OnPush controllano il server push.

Tunnel e WebTransport

ExtendedConnect, TunnelSend e OnTunnelData governano i tunnel RFC 9220; WebTransportConnect apre una sessione WebTransport.

Regolazione

UserAgent, ConnectTimeout, ReadTimeout e MaxResponseSize regolano il client.

Eventi

OnResponse, OnError, OnConnect, OnDisconnect e OnGoAway segnalano le risposte e il ciclo di vita della connessione.

Continua a esplorare

Guida onlineRiferimento completo dell'API e guida all'uso di sgcQUIC.
Tutti i componenti sgcQUICEsplora la matrice completa delle funzionalità dei quattro componenti.
Scarica la versione di provaEsegui il client HTTP/3 contro qualsiasi origine con HTTP/3 abilitato.
PrezziLicenze Single, Team e Site con codice sorgente completo.
La scelta più conveniente: All-AccessTutti i prodotti eSeGeCe, con Supporto Premium incluso, a partire da €1,059/anno.
Vedi i prezzi All-Access

Pronto per iniziare?

Scarica la versione di prova gratuita e invia la tua prima richiesta HTTP/3 da Delphi, C++ Builder e .NET.