![]() |
Json Post mit Indy ?
Hi,
ich möchte mit Indy auf die Api einer website zugreifen. Es werden dabei allerdings keine normalen Post befehle, sondern Json Befehle gesendet. Wie lässt sich das mit Indy umsetzen ? Gruß Yannic |
AW: Json Post mit Indy ?
Ich benutze dafür die
![]()
Delphi-Quellcode:
uses
uLkJSON; var _lkJSONobject: TlkJSONobject; _params, _result: TStringStream; begin _lkJSONobject := TlkJSONobject.Create; _params := TStringStream.Create('', CP_UTF8); _result := TStringStream.Create('', CP_UTF8); try _lkJSONobject.Add('name', 'value'); _params.WriteString('data=' + TlkJSON.GenerateText(_lkJSONobject)); try Post('http://...', _params, _result); except end; // _result.DataString auswerten whatever finally _result.Free; _params.Free; _lkJSONobject.Free; end; end; |
AW: Json Post mit Indy ?
Zitat:
Für POST mit Formularfeldern ist ein Beispiel hier zu finden (oder mit Indy post form googeln): ![]() Ich tippe aber auf die zweite Variante, POST ohne Formularfelder. Das Beispiel von geskill kann man dazu verwenden, wenn man diese Zeile
Delphi-Quellcode:
_params.WriteString('data=' + TlkJSON.GenerateText(_lkJSONobject));
ändert in
Delphi-Quellcode:
_params.WriteString(TlkJSON.GenerateText(_lkJSONobject));
dann steht der reine JSON Code im HTTP Body des POST Requests. Hope this helps, |
AW: Json Post mit Indy ?
Hi,
das hat schonmal geholfen :) Gesucht war der Post mit dem Content im body. Momentan sehen die erzeugten Requests so aus: {"":"", "":"", "":"", .....} Ich benötige allerdings verschachtelte Requests. Hier mal ein Beispiel:
Code:
Wie lässt sich diese Verschachtelung erzeugen ?
{"header":{"clientRevision":"20100412.13","token":"xxx","uuid":"xxx","client":"gslite","session":"xxx","country":{"CC2":"0","CC1":"18014398509481984","ID":"55","CC4":"0","CC3":"0"}},"parameters":{"query":"someArtist","type":"Songs"},"method":"getSearchResults"}
Gruß Yannic |
AW: Json Post mit Indy ?
Ich würde es mal so probieren, weiß es aber auch nicht genau:
Delphi-Quellcode:
_lkJSONobjectparameters.Add('query', 'value');
_lkJSONobjectparameters.Add('type', 'Songs'); // ... _lkJSONobject.Add('parameters', TlkJSON.GenerateText(_lkJSONobjectparameters)); _lkJSONobject.Add('method', 'getSearchResults'); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:03 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