Einzelnen Beitrag anzeigen

mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#2

AW: JSON mit Indy verschicken -> Fehler

  Alt 20. Feb 2015, 16:02
Man kann keine TStringList verwenden um mit TIdHTTP einen JSON String zu posten. TIdHTTP.Post() wird den Inhalt der TStringList in einer Art kodieren die die JSON Daten ungültig macht. Stattdessen muss der String in einen TStream geschrieben werden.



Diese Zeile ist überflüssig, Indy berechnet die Länge selbst:

 IdHTTP1.Request.ContentLength:= Length(sl.Text)* SizeOf(Char);

Auch das Angeben des Zeichensatzes im Post ist nicht notwendig:

showmessage(IdHTTP1.Post('https://www.test.de/jsonrpc.do', sl));
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat