TsgcHTTP2ClientYöntemler › Post

Post Yöntem

Bir stream yükleyerek ve yanıt alınana kadar bloke ederek senkron bir HTTP/2 POST gerçekleştirir.

Aşırı Yüklemeler

Aşırı Yükleme 1

Sözdizimi

function Post(const aURL: string; const aSource: TStream): string;

Parametreler

NameTypeAçıklama
aURLconst stringPOST isteğini alacak mutlak URL.
aSourceconst TStreamYüklenecek istek gövdesini içeren stream. Sizecontent-length sözde başlığını ayarlar.

Dönüş Değeri

Sunucudan alınan ve dize olarak çözümlenen yanıt gövdesi. (string)

Remarks

Bu aşırı yüklemeyi, tam yanıtın bir dize olarak döndürülebileceği JSON veya form verileri gibi metinsel alışverişler için kullanın. Gövdenin medya türünü bildirmek için çağırmadan önce Request.ContentType öğesini yapılandırın.

Örnek

oBody := TStringStream.Create('{"name":"John"}');
try
  oClient.Request.ContentType := 'application/json';
  vResponse := oClient.Post('https://api.example.com/users', oBody);
finally
  oBody.Free;
end;

Overload 2

Sözdizimi

procedure Post(const aURL: string; const aSource: TStream; const aResponseContent: TStream);

Parametreler

NameTypeAçıklama
aURLconst stringPOST isteğini alacak mutlak URL.
aSourceconst TStreamİstek yükünü sağlayan akış.
aResponseContentconst TStream Sunucunun ham yanıt baytlarını alacak stream; ikili veya büyük yanıtlar için kullanışlıdır.

Remarks

Tamamen stream tabanlı varyant: hem istek yükü hem de sunucu yanıtı TStream örnekleri aracılığıyla işlenir, her iki tarafta da bir string dönüşümünün ek yükünü önler. İkili yükler döndüren dosya yüklemeleri için bu aşırı yüklemeyi (overload) tercih edin.

Örnek

oIn := TFileStream.Create('upload.bin', fmOpenRead);
oOut := TMemoryStream.Create;
try
  oClient.Post('https://api.example.com/upload', oIn, oOut);
finally
  oOut.Free;
  oIn.Free;
end;

Yöntemlere Dön