Komponent HTTP/3 Client — sgcQUIC | eSeGeCe

HTTP/3 Client

TsgcHTTP3Client — klient HTTP/3 (RFC 9114), który wysyła żądania przez QUIC z kompresją nagłówków QPACK, wykrywaniem Alt-Svc, server push, tunelami Extended CONNECT i sesjami WebTransport. Ta sama znana Ci semantyka HTTP, na nowym transporcie, w Delphi, C++ Builder i .NET.

TsgcHTTP3Client

Połącz się z hostem i portem, a następnie wysyłaj żądania za pomocą czasowników, których już używasz. QPACK, Alt-Svc, push i WebTransport są udostępnione jako metody i zdarzenia. Zbudowany na natywnym silniku QUIC OpenSSL 3.5.

Klasa komponentu

TsgcHTTP3Client

Protokół

HTTP/3 (RFC 9114) nad QUIC

Rodzina

HTTP/3

Języki

Delphi, C++ Builder, .NET

Żądanie GET przez HTTP/3

Połącz się z hostem i portem, a następnie wysyłaj żądania. Domyślny port to 443. Nagłówki są kompresowane za pomocą QPACK, a OnAltSvc informuje Cię, kiedy ogłaszane jest 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");

Kluczowe właściwości i metody

Składniki, po które sięgasz najczęściej.

Żądania

Get, Head, Post, Put, Delete i pozostałe czasowniki (w tym metoda IETF QUERY) działają jako wywołania blokujące, większość z wariantem asynchronicznym.

Połączenie

Connect(aHost, aPort) i Disconnect otwierają i zamykają połączenie QUIC; Host i Port zwracają bieżący cel.

Alt-Svc i push

OnAltSvc ujawnia dostępność HTTP/3; SetMaxPushId, OnPushPromise i OnPush kontrolują server push.

Tunele i WebTransport

ExtendedConnect, TunnelSend i OnTunnelData sterują tunelami RFC 9220; WebTransportConnect otwiera sesję WebTransport.

Dostrajanie

UserAgent, ConnectTimeout, ReadTimeout i MaxResponseSize dostrajają klienta.

Zdarzenia

OnResponse, OnError, OnConnect, OnDisconnect i OnGoAway raportują odpowiedzi i cykl życia połączenia.

Poznawaj dalej

Pomoc onlinePełna dokumentacja API i przewodnik użytkowania sgcQUIC.
Wszystkie komponenty sgcQUICPrzejrzyj pełną matrycę funkcji wszystkich czterech komponentów.
Pobierz bezpłatną wersję próbnąUruchom klienta HTTP/3 względem dowolnego źródła obsługującego HTTP/3.
CennikLicencje Single, Team i Site z pełnym kodem źródłowym.
Najkorzystniejsza oferta: All-AccessWszystkie produkty eSeGeCe, ze wsparciem Premium w cenie, już od €1,059 rocznie.
Zobacz cennik All-Access

Gotowy, aby zacząć?

Pobierz bezpłatną wersję próbną i wyślij swoje pierwsze żądanie HTTP/3 z Delphi, C++ Builder i .NET.