AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi IdHTTP Server/Client Problem

IdHTTP Server/Client Problem

Ein Thema von sephraina · begonnen am 25. Jun 2015 · letzter Beitrag vom 25. Jun 2015
Antwort Antwort
sephraina

Registriert seit: 17. Feb 2015
36 Beiträge
 
Delphi XE7 Professional
 
#1

IdHTTP Server/Client Problem

  Alt 25. Jun 2015, 13:17
Hallo,

Ich versuche gerade von meinem Client aus einen Post auf meinen Server zu machen, aber irgendwo stecke ich fest. Der Server hat zwar eine Verbindung zum Client (Get-Request funktioniert) aber meint Post will er nicht anzeigen.

Hier der Client-Code
Delphi-Quellcode:
procedure TForm2.Button2Click(Sender: TObject);
var s: TMemorystream;
    str: TStringstream;
    a: string;
    p: integer;
begin
      s := Tmemorystream.Create;
      str := TStringstream.Create (edit2.Text);
      showmessage(str.DataString); // wird angezeigt
      s.LoadFromStream(str);

      idhttp1.Post('http://127.0.0.1/' , s);

end;
Und hier mein Servercode:
Delphi-Quellcode:
procedure TFServer.IdHTTPServer1CommandOther(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
  var s: TMemorystream;
  str : TStringstream;
  begin
      Showmessage('POST: connected!'); //wird auch nicht angezeigt
      s:= TMemorystream.Create;
      s.Position := 0;
      str.LoadFromStream(s);
      showmessage(str.DataString);
end;
Da der Server kein 'CommandPost' hat nahm ich das 'CommandOther'
Hmm, ich könnte mir vorstellen dass ich den Inhalt des Streams noch irgendwie holen muss (wie?) aber er müsst nur schon mal mein showmessage() anzeigen...

Hoffe jemand findet den Fehler.
Danke im Voraus!

Gruss Seph
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#2

AW: IdHTTP Server/Client Problem

  Alt 25. Jun 2015, 13:34
Da der Server kein 'CommandPost' hat nahm ich das 'CommandOther'
'OnCommandGet' wird ausgelöst bei GET, POST und HEADER.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
sephraina

Registriert seit: 17. Feb 2015
36 Beiträge
 
Delphi XE7 Professional
 
#3

AW: IdHTTP Server/Client Problem

  Alt 25. Jun 2015, 14:01
Danke, das erklärt einiges.
Aber wie mache ich jetzt den Unterschied zwischen Get und Post?
-Ich schicke ja den Stream mit http.post()?
Ist das im 'Acontext: tidcontext' ?? irgendwie so?
if Acontext = 'Getthen showmessage('get') else if Acontext = 'postthen showmessage('post'); aber das sind ja andere Typen...
  Mit Zitat antworten Zitat
BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#4

AW: IdHTTP Server/Client Problem

  Alt 25. Jun 2015, 14:25
Danke, das erklärt einiges.
Aber wie mache ich jetzt den Unterschied zwischen Get und Post?
ARequestInfo.Command gibt Dir diese Möglichkeit.

In der Event-Funktion hast Du als Parameter die Variable "ARequestInfo: TIdHTTPRequestInfo".

TIdHTTPRequestInfo hat wiederum die Property "Command" welche Dir einen String liefert.

Dieser String lautet dann "GET", "POST", oder "HEAD", je nachdem was Du ausgeführt hast.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.
  Mit Zitat antworten Zitat
sephraina

Registriert seit: 17. Feb 2015
36 Beiträge
 
Delphi XE7 Professional
 
#5

AW: IdHTTP Server/Client Problem

  Alt 25. Jun 2015, 15:30
Danke, Problem gelöst

Habe jetzt mein
Delphi-Quellcode:
procedure TFServer.IdHTTPServer1CommandGet(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
mit der Abfrage ergänzt:
Delphi-Quellcode:
if ARequestInfo.Command ='GET'  then
    begin //irgendwas
    end;
else if ARequestInfo.Command ='POST'  then
    begin //irgendwas
    end;
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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