TsgcHTTP2Client메서드 › Post

Post 메서드

동기 HTTP/2 POST를 수행하여 스트림을 업로드하고 응답이 수신될 때까지 차단합니다.

Overloads

오버로드 1

구문

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

Parameters

NameType설명
aURLconst stringPOST 요청을 받을 절대 URL입니다.
aSourceconst TStream업로드할 요청 본문을 포함하는 스트림입니다. 그 Sizecontent-length 의사 헤더를 설정합니다.

반환 값

서버로부터 수신된 응답 본문을 문자열로 디코딩한 것입니다. (string)

설명

전체 응답을 문자열로 반환할 수 있는 JSON 또는 form 데이터와 같은 텍스트 교환에 이 오버로드를 사용하십시오. 본문의 미디어 유형을 알리려면 호출하기 전에 Request.ContentType을 구성하십시오.

예제

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

구문

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

Parameters

NameType설명
aURLconst stringPOST 요청을 받을 절대 URL입니다.
aSourceconst TStream요청 페이로드를 제공하는 스트림입니다.
aResponseContentconst TStream서버의 원시 응답 바이트를 받을 스트림입니다. 바이너리 또는 대용량 응답에 유용합니다.

설명

완전히 스트림 기반 변형입니다: 요청 페이로드와 서버 응답 모두 TStream 인스턴스를 통해 처리되어 양쪽에서 문자열 변환의 오버헤드를 방지합니다. 바이너리 페이로드를 반환하는 파일 업로드에는 이 오버로드를 선호하십시오.

예제

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;

메서드로 돌아가기