Consumir dados do servidor RESTfull PHP com delphi

30/06/2017

0

Olá,

Gostaria de saber como eu faço para consumir dados JSON do servidor RESTfull em php, com Delphi.

Quero usar o Delphi para construir um sistema cliente para consumir os dados servidor PHP

Com faço isso???
Jan Junior

Jan Junior

Responder

Post mais votado

30/06/2017

pode utilizar o componente idHttp para realizar os posts e gets....

procedure Button4Click(Sender: TObject);
var
  URL, Retorno: String;
  JsonStreamRetorno, JsonStreamEnvio: TStringStream;
  pgHtml : TStringList;
  Json: string;
  sResponse: string;
  JsonToSend: TMemoryStream;
begin
  pgHtml := TStringList.Create;
  URL :=SEUHOST;
  JsonStreamEnvio := TStringStream.Create(Memo4.Text);
  JsonStreamRetorno := TStringStream.Create('');

  try
   idHttp.Request.Clear;

    idHttp.Request.ContentType := 'application/json';
    idhttp.Request.Charset := 'utf-8';

    idHttp.Request.BasicAuthentication := true;

    idHttp.Request.ContentType := 'application/json;odata=light;charset=utf-8;';
    idHttp.Request.Connection  := 'keep-alive';
    idHttp.Request.UserAgent   := 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36';
    idHttp.Request.AcceptEncoding := 'gzip, deflate';
    idHttp.Request.AcceptLanguage := 'pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4';
    idHttp.Request.CacheControl := 'no-cache';

   IdHttp.IOHandler := IdSSLIOHandlerSocketOpenSSL1;

   
    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;


Obs.: Peguei esse codigo de um teste que fiz há muito tempo, verifica depois as variaveis que não usei e retire elas

Robson Morais

Robson Morais
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar