Delphi: Comunicação HTTPS + JSON via CURL

Está buscando uma maneira de enviar requisições https pelo Delphi e não quer atualizar o seu componente Indy que aceita somente http? Então, podemos utilizar essas requisições seguras via curl, sabia?

Biblioteca CurlPas: http://curlpas.sourceforge.net/curlpas/

function RealizarRequisicao(pConteudo: TStringStream; pURL: string): string;
var
   oCurl: TCurl;
   oJSON: TJSONObject;
   sRetorno: string;
   slRetorno: TStringList;
begin
   oCurl := TCurl.Create(nil);
   slRetorno := TStringList.Create;
   try
      oCurl.URL := pURL;

      //oCurl.Header := True; // Mostra um header completo para maiores informações

      oCurl.HttpHeader.Add('Accept: application/json');
      oCurl.HttpHeader.Add('Content-type: application/json');

      {Arquivo de retorno}
      oCurl.OutputFile := 'C:\curl.txt';

      {Campos enviados no formato JSON}
      oCurl.PostFields := pConteudo.DataString;

      {Comando que realiza a requisição}
      oCurl.Perform;

      slRetorno.LoadFromFile('C:\curl.txt');
      slRetorno.Text := Utf8ToAnsi(slsRetorno.Text);

      sRetorno := Format('URL: %s, Resposta HTTP: %s, Mensagem: %s %s',
         [pURL, IntToStr(oCurl.HttpCode), oCurl.ErrorString + #13 + #13, slRetorno.Text]);

      ShowMessage(sRetorno);
   finally
      FreeAndNil(oCurl);
      FreeAndNil(slRetorno);
   end;
end; 

Nenhum comentário:

Postar um comentário