idHTTP JSON Post 방법
토큰 키값이 존재 시 다음과 같이 처리한다.
procedure TForm1.Button6Click(Sender: TObject);
var
URL, Retorno: String;
JsonStreamRetorno, JsonStreamEnvio: TStringStream;
begin
URL := 'https://0000000000000t';
//UTF-8로 받는다
JsonStreamEnvio := TStringStream.Create(Memo2.Text,TEncoding.UTF8);
JsonStreamRetorno := TStringStream.Create('');
// Init request:
try
idHttp.Request.Clear;
idHttp.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(IdHTTP);
idHttp.HandleRedirects := True;
idHttp.Request.Clear;
idHttp.Request.BasicAuthentication := true;
idHttp.Request.Accept := '*/*';
idHttp.Request.CustomHeaders.Add('000');
idHttp.Request.CustomHeaders.Add('000');
idHttp.Request.ContentType := 'application/json; charset=utf-8';
idHttp.Request.ContentEncoding := 'utf-8';
try
idHttp.Post(URL, JsonStreamEnvio, JsonStreamRetorno);
Memo2.Text := IdHTTP.Post(URL, JsonStreamEnvio);
except
on E:EIdHTTPProtocolException do
Memo2.Lines.Add(e.ErrorMessage);
end;
finally
memo2.Lines.add(JsonStreamRetorno.DataString);
end;
end;
=========================================
procedure Tformmaintestbed.btnJSONSendClick(Sender: TObject);
var
code: Integer;
sResponse: string;
JsonToSend: TStringStream;
begin
JsonToSend := TStringStream.Create(
'{"auth": {"applicationId": "' + edApplication.text +
'","applicationPassword": "' + edpassword.text +
'","accountId": "' + edaccount.text +
'","userId": "' + edUser.text +
'"}}');
try
HTTP1.Request.ContentType := 'application/json';
HTTP1.Request.ContentEncoding := 'utf-8';
memoRequest.lines.clear;
memoRequest.lines.add(JsonToSend);
try
sResponse := HTTP1.Post(cbAddress.text, JsonToSend);
except
on E: Exception do
ShowMessage('Error on request: '#13#10 + e.Message);
end;
memoResponse.lines.clear;
memoresponse.lines.add(sResponse);
finally
JsonToSend.Free();
end;
end;
'Delphi Tip > 인터넷' 카테고리의 다른 글
웹브라우저에 HTML 코드 밀어넣기 (0) | 2021.12.15 |
---|---|
델파이 JSON 생성 (서브아이템포함) (0) | 2021.12.14 |
IdHTTP App ID, Key 존재시 (0) | 2021.12.10 |
웹브라우저에 HTML 코드 밀어넣기 (0) | 2021.12.08 |
현재 떠 있는 모든 IE 찾기 및 닫기 (0) | 2021.12.07 |
댓글