Ich benutze QTcpServer als meinen HTTPServer. Wenn ich ein HTTP GET Request bekomme funktioniert alles prima, aber wie arbeite ich HTTP POST Requests ab?
Hier der code den ich zum lesen vom Client verwende:
Einen eigenen HTTP Server via QTcpServer zu bauen ist schon ne harte Sache.. Wie das mit den Post Variablen geht, weiß ich nicht. Aber hier stehen alle Informationen, die du für einen HTTP Server benötigst, drin: http://www.faqs.org/rfcs/rfc2616.html
So kenne ich es eigentlich auch, die POST-Variablen hängen im Header als "Key=Value"-Paare mit drin und können mit nem QRegExp ganz einfach ausgefiltert werden.
fehlt "index.html"? der path "/" ist ja da.
Meine Erfahrungen beschränken sich auf Client-Seite, QHttp und GET, an das POST habe ich mich noch nicht "herangetraut" und war auch nicht nötig.
Ich dachte mit dem POST muß auch eine uri ankommen, sonst weiß der server ja nicht wo es hingehört; hab gerade noch mal in die rfc gesehen, aber wieder fast nix verstanden.
In jedem Fall super, daß es jetzt geht (Freue mich schon auf ein; "powert by NoRulez-server"
Maxima hat geschrieben:fehlt "index.html"? der path "/" ist ja da.
index.html würde zum Pfad dazugehören. "/index.html". Aber in dem Fall wurde einfach der Pfad "/" aufgerufen. HTTP Server übermitteln dann meistens die Datei unter einem Default Wert wie index.html.
PeterLustig hat geschrieben:index.html würde zum Pfad dazugehören. "/index.html". Aber in dem Fall wurde einfach der Pfad "/" aufgerufen. HTTP Server übermitteln dann meistens die Datei unter einem Default Wert wie index.html.
Ich dachte das gilt für das GET, daß aber für das POST ein "index.html" oder "bild.jpg" dazugehört, weil man ja möchte das die daten dahin gepostet werden.
Das POST-Request muss ja auch irgendeine Datei aufrufen, und im üblichen die Datei, die auch die übermittelten Informationen verwertet.
Ein POST-Request ist ja im Grunde dasselbe wie ein GET-Request, nur das eben noch zusätzlich Informationen außerhalb des Pfades übergeben werden.
Ich möchte einen Elan nicht ausbremsen so etwas zu entwickeln, sondern nur zusätzlich den Blick auf weiteres vielversprechendes Projekt lenken:
Das Team von Qxt arbeitet ebenfalls an einem Webservice http://docs.libqxt.org/group__QxtWeb.html
PeterLustig hat geschrieben:Das POST-Request muss ja auch irgendeine Datei aufrufen, und im üblichen die Datei, die auch die übermittelten Informationen verwertet.
Ein POST-Request ist ja im Grunde dasselbe wie ein GET-Request, nur das eben noch zusätzlich Informationen außerhalb des Pfades übergeben werden.
Nicht ganz, in einem GET definierst Du die Variablen und Werte mittels Key/Values ála key1=value1&key2=value2.
Im Gegensatz zum GET wird beim POST nach dem Header im Prinzip alles als Daten verwertet - Eben die Länge von Content-Length. Ob das jetzt eine Datei ist, oder ob Du darin auch Deine Key/Value Paare zusammen stöpselst bleibt Dir überlassen.