TsgcHTTP2ClientMetody › Trace

Trace Metoda

Wykonuje synchroniczne żądanie HTTP/2 TRACE używane do debugowania ścieżki żądania między klientem a serwerem.

Przeciążenia

Przeciążenie 1

Składnia

function Trace(Const aURL: string): string;

Parametry

NazwaTypOpis
aURLconst stringBezwzględny adres URL celu. Nagłówki żądania (potencjalnie zmodyfikowane przez proxy na ścieżce) zostaną odesłane przez serwer źródłowy.

Wartość zwracana

Treść odpowiedzi zawierająca powtórzony nagłówek żądania w postaci dokumentu message/http. (string)

Uwagi

TRACE wykonuje test pętli zwrotnej wiadomości: serwer odpowiada dokładną linią żądania i nagłówkami, które otrzymał, co jest przydatne do diagnozowania, które serwery proxy lub bramy modyfikują ruch. Wiele serwerów wyłącza metodę TRACE ze względów bezpieczeństwa, dlatego należy być przygotowanym na otrzymanie 405 Method Not Allowed.

Przykład

vEcho := oClient.Trace('https://api.example.com/diag');

Przeciążenie 2

Składnia

procedure Trace(Const aURL: string; const aResponseContent: TStream);

Parametry

NazwaTypOpis
aURLconst stringBezwzględny adres URL docelowy żądania TRACE.
aResponseContentconst TStreamStrumień przechwytujący ciało odpowiedzi message/http z echem.

Uwagi

Przeciążenie strumieniowe. Przydatne, gdy echowane żądanie jest długie (na przykład gdy dodano wiele nagłówków proxy via) i preferowane jest jego utrwalenie na dysku lub w buforze pamięci do późniejszej analizy.

Przykład

oOut := TFileStream.Create('trace.log', fmCreate);
try
  oClient.Trace('https://api.example.com/diag', oOut);
finally
  oOut.Free;
end;

Powrót do metod