Ver Mensaje Individual
  #1  
Antiguo 10-09-2019
aposi aposi is offline
Miembro
 
Registrado: dic 2006
Posts: 149
Reputación: 18
aposi Va por buen camino
idHttp post con respuesta Json

Hola,
Estoy enviando un Json a una web para la inserción de datos y para el envio todo correcto.
El problema esta cuando da algun error.
Me han comentado que los posibles errores los responden en un json de respuesta a la petición, pero no se como recuperar este Json


el codigo que utilizo para enviar mi Json es el siguiente:


Código Delphi [-]


var

  sResponse: string;
  JsonToSend: TStringStream;
  IdSSL : TIdSSLIOHandlerSocketOpenSSL;
begin
  JsonToSend := TStringStream.Create(Utf8Encode(datos)); 
  respuesta := TStringStream.Create;
  try
    idHTTP.Request.ContentType := 'application/json';
    idHTTP.Request.CharSet := 'utf-8';
    IdSSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
    IdHTTP.IOHandler := IdSSL;
    IdHTTP.Request.CustomHeaders.clear;
    IdHTTP.Request.CustomHeaders.AddValue('MTC-API-KEY', 'xxxxxxxxxx');
    IdSSL.SSLOptions.Method := sslvTLSv1;
    IdSSL.SSLOptions.Method := sslvTLSv1;
    IdSSL.SSLOptions.Mode := sslmUnassigned;
    try
      form1.Memo2.Lines.Clear;
      form1.Memo2.Lines.Add(datos);
      sResponse := idHTTP.post('https://xxxxxxxxxx/index.php?entryPoint=connector', JsonToSend);
      form1.Memo1.Lines.Clear;
      Form1.Memo1.lines.Add('Response code');
      Form1.Memo1.lines.Add(inttostr(idhttp.ResponseCode));
      Form1.Memo1.lines.Add('Response text');
      Form1.Memo1.lines.Add(idhttp.ResponseText);
      Form1.Memo1.lines.Add(sResponse);
    except
      on E: Exception do begin
        Form1.Memo1.lines.Add(e.Message);
        Form1.Memo1.lines.Add('Response code');
        Form1.Memo1.lines.Add(inttostr(idhttp.ResponseCode));
        Form1.Memo1.lines.Add('Response text');
        Form1.Memo1.lines.Add(idhttp.ResponseText);
        Form1.Memo1.lines.Add(sResponse);
      end
    end;
  finally
    JsonToSend.Free;
  end;
Responder Con Cita