Indy wie server direktkomunikation ü webinterface

Alle Fragen zur Netzwerkkommunikation
Antworten
Dragon
Beiträge: 162
Registriert: Mi 31. Jul 2013, 15:07
OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80

Indy wie server direktkomunikation ü webinterface

Beitrag von Dragon »

Wiedermal Indy.
gibt es einen weg direkt mit dem programm zu kommunizieren also quasi wie CGI nur eben ohne von
anderen sachen wie Apache, PHP, Javascipt etc abhängig zu sein also nur HTML und CSS und damit ein steuerinterface für ein programm aufzubauen
hatte mithilfe des http examples schon eine lokale seite getestet mit einem edit und einem button. aber ich weiß nicht wie ich eingaben direkt wieder entgegennehmen kann.

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Indy wie server direktkomunikation ü webinterface

Beitrag von Warf »

Du benötigst ein Protokoll, dafür bietet sich HTTP an, über Cookies kannst du Sessions setzten um den Klienten zu identifizieren, und dann einfach die Post daten aus dem Recieve Header auswerten

Dragon
Beiträge: 162
Registriert: Mi 31. Jul 2013, 15:07
OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80

Re: Indy wie server direktkomunikation ü webinterface

Beitrag von Dragon »

Ja aber wie kann ich POST direkt entgegenehmen ohne den umweg über ein PHO Script. Das ist mein Problem und ohne eine extra Clientsoftware zu schreiben. Es soll über einen Browser gehen

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Indy wie server direktkomunikation ü webinterface

Beitrag von Warf »

Ich habe länger nicht mehr mit Indy gearbeitet aber vielleicht hilft die dies weiter

Dragon
Beiträge: 162
Registriert: Mi 31. Jul 2013, 15:07
OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80

Re: Indy wie server direktkomunikation ü webinterface

Beitrag von Dragon »

Leider bin ich bis jetzt nicht weitergekommen

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Indy wie server direktkomunikation ü webinterface

Beitrag von Warf »

Ok ich hab mir das nochmal angesehen, und du könntest einfach mal das ausprobieren:

Code: Alles auswählen

procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext;
  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
var
  SL: TStringList;
begin
  SL := TStringList.Create;
  try
    SL.LoadFromStream(ARequestInfo.PostStream);
    Username := SL.Values['Username']; // Post daten auslesen
  finally
    SL.free;
  end;
end;


Habe es nicht getestet, einfach nur schnell runtergeschrieben

Dragon
Beiträge: 162
Registriert: Mi 31. Jul 2013, 15:07
OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80

Re: Indy wie server direktkomunikation ü webinterface

Beitrag von Dragon »

@warf ich hab jetzt noch unter var username deffiniert in deinem code als string und der variable einen überwachungspunkt gegeben aber wenn ich jetzt ins editfeld was eingebe und den button betätige passiert nicht im überwachungsfenster wird keine änderung angezeigt.


So sieht übr der Quelltext an der interface stelle aus musste was abkappen da sonst die Forensoftware gemekkert hat
form action="/" method="post"
input type="text" value="User1" name="Username"><br
input type="submit" value="name_ubertragen"

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Indy wie server direktkomunikation ü webinterface

Beitrag von Warf »

Dragon hat geschrieben:@warf ich hab jetzt noch unter var username deffiniert in deinem code als string und der variable einen überwachungspunkt gegeben aber wenn ich jetzt ins editfeld was eingebe und den button betätige passiert nicht im überwachungsfenster wird keine änderung angezeigt.


So sieht übr der Quelltext an der interface stelle aus musste was abkappen da sonst die Forensoftware gemekkert hat
form action="/" method="post"
input type="text" value="User1" name="Username"><br
input type="submit" value="name_ubertragen"

Versuch mal mit SL.Text den eingelesenen Text auszugeben, Vielleicht irre ich mich im Format des Post Contents

Dragon
Beiträge: 162
Registriert: Mi 31. Jul 2013, 15:07
OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80

Re: Indy wie server direktkomunikation ü webinterface

Beitrag von Dragon »

hab das versucht gibt aber keine rückmeldung
AResponseInfo.ContentText := '<html><body>'+sl.text+'</body></html>';

showmessage(sl.text);
geht auch nicht zeigt nichtmal die messagebox an

Dragon
Beiträge: 162
Registriert: Mi 31. Jul 2013, 15:07
OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80

Re: Indy wie server direktkomunikation ü webinterface

Beitrag von Dragon »

Hab das hier vohin gesehen werd mir statt über indy direkt zu gehen das hier mal angucken
http://forum.lazarus.freepascal.org/ind ... 007.0.html

Antworten