AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Datenübertragung via HTTP POST
Thema durchsuchen
Ansicht
Themen-Optionen

Datenübertragung via HTTP POST

Ein Thema von lucy · begonnen am 18. Nov 2022 · letzter Beitrag vom 22. Nov 2022
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#11

AW: Datenübertragung via HTTP POST

  Alt 21. Nov 2022, 13:15
Dann hast Du wohl einen Fehler in Deinem Code. Da wir den aber nicht kennen, können wir auch nicht sagen, wo genau.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
lucy

Registriert seit: 25. Okt 2017
67 Beiträge
 
Delphi XE7 Starter
 
#12

AW: Datenübertragung via HTTP POST

  Alt 21. Nov 2022, 13:19
Zitat:
Dann hast Du wohl einen Fehler in Deinem Code. Da wir den aber nicht kennen, können wir auch nicht sagen, wo genau.
der Code ist doch bekannt :

Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
 var
  lParamList: TStringList;
begin
  lParamList := TStringList.Create;
  lParamList.Add('{');
  lParamList.Add('"message":"test message",');
  lParamList.Add('"type":"TEST",');
  lParamList.Add('"sender":"self",');
  lParamList.Add('"timestamp":"1424950740000"');
  lParamList.Add('}');
  try
    memo1.Lines.Text := idHTTP1.Post('http://192.168.0.5/rest/external/http', lParamList);
  finally
    lParamList.Free;
 end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#13

AW: Datenübertragung via HTTP POST

  Alt 21. Nov 2022, 14:31
Sind denn die Parameter für Accept und Content-Type richtig gesetzt (siehe mjustins Beitrag)?
Delphi-Quellcode:
 HTTP.Request.Accept := 'application/json';
        HTTP.Request.ContentType := 'application/json';
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
lucy

Registriert seit: 25. Okt 2017
67 Beiträge
 
Delphi XE7 Starter
 
#14

AW: Datenübertragung via HTTP POST

  Alt 21. Nov 2022, 14:59
Zitat:
Sind denn die Parameter für Accept und Content-Type richtig gesetzt (siehe mjustins Beitrag)?
nein hatte ich nicht.

Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var
  lParamList: TStringList;
begin
  lParamList := TStringList.Create('{"日本語":42}',TEncoding.UTF8); // Fehlermeldung
  lParamList.Add('{');
  lParamList.Add('"message":"test message",');
  lParamList.Add('"type":"TEST",');
  lParamList.Add('"sender":"self",');
  lParamList.Add('"timestamp":"1424950740000"');
  lParamList.Add('}');
  try
    idHTTP1.Request.Accept := 'application/json';
    idHTTP1.Request.ContentType := 'application/json';
    memo1.Lines.Text := idHTTP1.Post('http://192.168.0.5/rest/external/http', lParamList);
  finally
    lParamList.Free;
  end;
end;
Miniaturansicht angehängter Grafiken
bild1.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#15

AW: Datenübertragung via HTTP POST

  Alt 21. Nov 2022, 15:48
Mal tust Du zu wenig, mal zuviel. Wenn schon, dann mit einem TStringStream statt einer TStringList.
Delphi-Quellcode:
var
  lParamList: TStringStream;
begin
  lParamList := TStringStream.Create('',TEncoding.UTF8); // Fehlermeldung sollte jetzt verschwinden
  lParamList.WriteString('{');
  lParamList.WriteString('"message":"test message",');
  lParamList.WriteString('"type":"TEST",');
  lParamList.WriteString('"sender":"self",');
  lParamList.WriteString('"timestamp":"1424950740000"');
  lParamList.WriteString('}');
  try
    idHTTP1.Request.Accept := 'application/json';
    idHTTP1.Request.ContentType := 'application/json';
    memo1.Lines.Text := idHTTP1.Post('http://192.168.0.5/rest/external/http', lParamList);
  finally
    lParamList.Free;
  end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
lucy

Registriert seit: 25. Okt 2017
67 Beiträge
 
Delphi XE7 Starter
 
#16

AW: Datenübertragung via HTTP POST

  Alt 21. Nov 2022, 16:27
Zitat:
Mal tust Du zu wenig, mal zuviel. Wenn schon, dann mit einem TStringStream statt einer TStringList.
Ja jetzt geht es! danke
Miniaturansicht angehängter Grafiken
bild1.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#17

AW: Datenübertragung via HTTP POST

  Alt 21. Nov 2022, 16:38
Du solltest das JSON-Objekt nicht händisch zusammenbasteln wie im Beispiel, sondern eine Bibliothek dafür verwenden. Ich weiß nicht mehr, ob es System.JSON unter XE7 bereits gab, aber alternativ kannst Du ja einmal nach SuperObject googlen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
lucy

Registriert seit: 25. Okt 2017
67 Beiträge
 
Delphi XE7 Starter
 
#18

AW: Datenübertragung via HTTP POST

  Alt 22. Nov 2022, 07:16
Zitat:
Du solltest das JSON-Objekt nicht händisch zusammenbasteln wie im Beispiel, sondern eine Bibliothek dafür verwenden. Ich weiß nicht mehr, ob es System.JSON unter XE7 bereits gab, aber alternativ kannst Du ja einmal nach SuperObject googlen.
würde mich schon interessieren! habe aber leider noch nichts brauchbares gefunden.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#19

AW: Datenübertragung via HTTP POST

  Alt 22. Nov 2022, 08:27
SuperObject
System.JSON (gab es wohl bereits unter XE7)
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
lucy

Registriert seit: 25. Okt 2017
67 Beiträge
 
Delphi XE7 Starter
 
#20

AW: Datenübertragung via HTTP POST

  Alt 22. Nov 2022, 09:38
Zitat:
SuperObject
System.JSON (gab es wohl bereits unter XE7)
danke schaue ich mir an!

teste gerade noch ein wenig, habe hier noch einen Fehler!
verstehe ich nicht ??
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var
 ParamList : TStringStream;
begin

  ParamList := TStringStream.Create('', TEncoding.UTF8);
  ParamList.WriteString('{');
  ParamList.WriteString('"message":"test message",');
  ParamList.WriteString('"type":"ALARM",');
  ParamList.WriteString('"sender":"192.168.0.217",');
  ParamList.WriteString('"timestamp":"1424950740000",');
  ParamList.WriteString('"data":{"address": "'(Edit1.Text)'"}'); //pas(49) ist doch gesetzt! // oder muss ich noch ein strtoint(Edit1.Text) setzen
  ParamList.WriteString('}');
try
   idHTTP1.Request.Accept := 'application/json';
   idHTTP1.Request.ContentType := 'application/json';
   memo1.Lines.Text := idHTTP1.Post('http://192.168.0.5/rest/external/http', ParamList);
finally
  ParamList.Free;
 end;
end;
Miniaturansicht angehängter Grafiken
bild1.jpg  
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 20:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz