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
 
#3

AW: JSON mit Indy verschicken -> Fehler

  Alt 20. Feb 2015, 15:51
Okay, das erklärt einiges, vielen Dank!

Wenn ich das nun mit dem Stream mache, bekomme ich wieder ein Error vom Server, mit dem kann ich aber noch weniger anfangen
Erstmal der überarbeitete Code:
Delphi-Quellcode:
procedure SaveStringToStream(AStream: TStream; AString: String);
var
  aStrLen: Integer;
begin
  aStrLen := Length(AString);
  AStream.WriteBuffer(aStrLen, SizeOf(Integer)); // <-- weglassen!
  AStream.WriteBuffer(Pointer(AString)^, aStrLen);
end;

procedure TForm1.Button1Click(Sender: TObject);
var Stream: TMemoryStream;
begin
 Stream:= TMemoryStream.Create;
 SaveStringToStream(Stream,'{"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';

 Stream.Seek(0, soFromBeginning);
 showmessage(IdHTTP1.Post('https://test.de/jsonrpc.do', Stream));

 Stream.Free;
end;
Folgende Antwort:
Code:
{"jsonrpc":"2.0","id":null,"error":{"code":-32700,"message":"Parse error: Invalid UTF-32 character 0x6469227b(above 10ffff) at char #1, byte #7)"}}
Die selbe Rückmeldung bekomme ich auch wenn ich totalen Mist hinschicke.

EDIT: Okay, hab meinen Fehler gefunden. Anscheinend darf die Länge des Strings nicht im Stream gespeichert werden. Funktioniert nun super, vielen Dank Michael!

Geändert von Crocotronic (20. Feb 2015 um 16:08 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 04:27 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