TsgcHTTP2ClientMétodos › Post

Post Método

Realiza un POST HTTP/2 síncrono, cargando un flujo y bloqueando hasta recibir la respuesta.

Sobrecargas

Sobrecarga 1

Sintaxis

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

Parámetros

NombreTipoDescripción
aURLconst stringURL absoluta que recibirá la solicitud POST.
aSourceconst TStreamFlujo que contiene el cuerpo de la solicitud a cargar. Su Size establece el pseudoencabezado content-length.

Valor de Retorno

Cuerpo de respuesta recibido del servidor decodificado como cadena de texto. (string)

Observaciones

Utilice esta sobrecarga para intercambios de texto como JSON o datos de formulario donde la respuesta completa puede devolverse como cadena. Configure Request.ContentType antes de llamar para indicar el tipo de medio del cuerpo.

Ejemplo

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

Sobrecarga 2

Sintaxis

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

Parámetros

NombreTipoDescripción
aURLconst stringURL absoluta que recibirá la solicitud POST.
aSourceconst TStreamFlujo que proporciona la carga útil de la solicitud.
aResponseContentconst TStreamFlujo que recibirá los bytes de respuesta sin procesar del servidor; útil para respuestas binarias o de gran tamaño.

Observaciones

Variante completamente basada en flujos: tanto la carga útil de la solicitud como la respuesta del servidor se gestionan mediante instancias de TStream, evitando la sobrecarga de una conversión de cadena en ambos extremos. Prefiera esta sobrecarga para cargas de archivos que devuelven cargas binarias.

Ejemplo

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;

Volver a Métodos