AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke JSON mit Indy verschicken -> Fehler
Thema durchsuchen
Ansicht
Themen-Optionen

JSON mit Indy verschicken -> Fehler

Ein Thema von Crocotronic · begonnen am 20. Feb 2015 · letzter Beitrag vom 2. Jan 2018
 
Crocotronic

Registriert seit: 9. Mai 2013
258 Beiträge
 
#1

JSON mit Indy verschicken -> Fehler

  Alt 20. Feb 2015, 13:55
Hallo,
ich scheitere zurzeit am Verschicken eines JSON-Objekts. Die Schnittstele ist hierbei JSON-RPC und die Verbindung wird verschlüsselt.
Mein Code zum wegschicken sieht folgendermaßen aus:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var sl: TStringList;
begin
 sl:= TStringList.Create;
 sl.Text:= '{"id":"ID","method":"authenticate","params":{"user":"USER","password":"PASSWORD"},"jsonrpc":"2.0"}';

 IdHTTP1.IOHandler:= IdSSLIOHandlerSocketOpenSSL1;

 IdHTTP1.Request.ContentType:= 'application/json-rpc';
 IdHTTP1.Request.Connection:= 'Keep-Alive';
 IdHTTP1.Request.ContentLength:= Length(sl.Text)* SizeOf(Char);
 IdHTTP1.Request.ContentEncoding := 'utf-8';

 showmessage(IdHTTP1.Post('https://www.test.de/jsonrpc.do', sl, IndyTextEncoding(encUTF8)));

 sl.Free;
end;
Als Antwort bekomme ich jedesmal:
Code:
{"jsonrpc":"2.0","id":null,"error":{"code":-32700,"message":"Parse error: Unexpected character ('%' (code 37)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')\n at [Source: org.apache.catalina.connector.CoyoteInputStream@2bcf7275; line: 1, column: 2]"}}
Es sieht so aus, als würde Indy irgendwo ein '%' in den Request basteln.
Ich habe herausgefunden, dass sobald aber am Anfang ein Sonderzeichen steht, wie z.B. '{', '"' oder '&', antwortet mir der Server mit der oben beschriebenen Nachricht, dass unerwarteterweise ein '%' gefunden wurde.
Ich hätte ja sofort gedacht, dass da die Zeichensätze nicht übereinstimmen, aber in der Post-Funktion gebe ich ja explizit den UTF-8-Encoder mit.

Ich hoffe, es kann mir jemand helfen!

Viele Grüße
Croco

Geändert von Crocotronic (20. Feb 2015 um 14:02 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz