Einzelnen Beitrag anzeigen

fisipjm

Registriert seit: 28. Okt 2013
251 Beiträge
 
#22

AW: Datenübertragung via HTTP POST

  Alt 22. Nov 2022, 14:22
Tu dir aber selbst einen gefallen und nutze die JSON Frameworks die es schon gibt. Es ist natürlich gut zu verstehen was läuft und wie etwas aufgebaut ist, aber im fertigen Code würde ich immer auf das gehen, was man danach besser versteht bzw. weitere Verbreitung hat. Dein Code würde mit der system.JSON unit umgesetzt so aussehen.

Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var
  myJSONObj: TJSONObject;
  myDataObj: TJSONObject;
begin

  myJSONObj := TJSONObject.Create;
  try
    myJSONObj.AddPair('message', 'test message');
    myJSONObj.AddPair('type', 'ALARM');
    myJSONObj.AddPair('sender', '192.168.0.217');
    myJSONObj.AddPair('timestamp', '1424950740000');
    myJSONObj.AddPair('sender', '192.168.0.217');
    myDataObj := TJSONObject.Create;
      myDataObj.AddPair('address', Edit1.text);
      myJSONObj.AddPair('data', myDataObj);
      try
        IdHTTP1.Request.Accept := 'application/json';
        IdHTTP1.Request.ContentType := 'application/json';
        Memo1.Lines.text := IdHTTP1.Post('http://192.168.0.5/rest/external/http', myJSONObj.ToJSON);
      except
        on e: Exception do
          ShowMessage('Huch, was ist denn da passiert? - ' + e.Message);

      end

  finally
    myJSONObj.free;
  end;

end;

Geändert von fisipjm (22. Nov 2022 um 15:10 Uhr) Grund: Hinweis von DeddyH
  Mit Zitat antworten Zitat