TsgcHTTP3Client › Methoden › Connect

Connect Methode

Öffnet die QUIC-Verbindung zu einem Host oder sendet eine HTTP/3-CONNECT-Anfrage, um einen Tunnel aufzubauen.

Syntax

Connect(const aHost: string; aPort: Integer = 443) Host-Überladung

procedure Connect(const aHost: string; aPort: Integer = 443); overload;
NameTypBeschreibung
aHostconst stringIP-Adresse oder DNS-Name des HTTP/3-Servers. Ein IPv6-Literal wird akzeptiert, eine Adresse, die einen Doppelpunkt enthält, wird als IPv6 gelesen. Wenn der Host innerhalb einer absoluten URL übergeben wird, muss das IPv6-Literal in eckige Klammern gesetzt werden, zum Beispiel https://[::1]:443/.
aPortIntegerUDP-Port des QUIC-Listeners. Standardmäßig 443.

Keine. Bei Erfolg gibt Connected True zurück und OnConnect wird ausgelöst.

Connect(const aURL: string): string CONNECT-Verb-Überladung

function Connect(const aURL: string): string; overload;
NameTypBeschreibung
aURLconst stringAbsolute URL der Zielressource.

Vom Server empfangener Antworttext, als String dekodiert. (string)

Hinweise

Connect ist überladen und erfüllt zwei unterschiedliche Zwecke. Die Host-Überladung ist eine Verbindungsmethode: Sie öffnet die QUIC-Verbindung, führt den TLS-1.3-Handshake durch, handelt das h3-ALPN aus und öffnet die HTTP/3-Control- und QPACK-Streams. Die URL-Überladung ist das HTTP-Verb CONNECT: Sie sendet eine Anfrage, deren Pseudo-Header :method den Wert CONNECT hat, und gibt den Antwort-Body als Zeichenfolge zurück.

Die Host-Überladung muss normalerweise nicht explizit aufgerufen werden, da jede Verb-Methode die Verbindung bei Bedarf anhand der URL öffnet. Rufen Sie sie auf, wenn Sie genau steuern möchten, wann der Handshake stattfindet, oder um früh zu scheitern, bevor Anfragen abgesetzt werden. Sie füllt außerdem die schreibgeschützten Eigenschaften Host und Port.

Um einen Tunnel oder eine WebTransport-Sitzung aufzubauen, bevorzugen Sie ExtendedConnect, das den in RFC 9220 definierten Pseudo-Header :protocol sendet und den Anfrage-Stream offen hält. Die einfache CONNECT-Verb-Überladung hier setzt lediglich die Anfrage ab und liest die Antwort als gewöhnlichen Body.

Verwenden Sie Disconnect, um die Verbindung zu schließen, und Connected, um ihren Zustand zu prüfen.

Beispiel



// host overload: open the QUIC connection

oClient.Connect('www.example.com', 443);

if oClient.Connected then

  vResponse := oClient.Get('https://www.example.com/');



// URL overload: the CONNECT verb

vResponse := oClient.Connect('https://www.example.com/tunnel');

Zurück zu Methoden