Hallo, im lwIP/contrib-Ordner gibts unter anderem auch den Sourcecode für einen HTTP-Server. Den habe ich nun hier implementiert, und er läuft auch. Die Website wird wie gewünscht dargestellt, alles gut soweit. Nun möchte ich einen simplen Datei-Upload via HTTP POST realisieren. Leider blicke ich hier gar nicht durch, wie ich das mit diesem HTTP Server machen soll. Zwar gibts ein #define LWIP_HTTPD_SUPPORT_POST, das ich auf 1 gesetzt habe. Somit sollte HTTP POST also möglich sein. Aber was brauche ich noch?
Tobias Plüss schrieb: > Aber > was brauche ich noch? Na jemand der den POST request bearbeitet und irgendwas mit den Daten anstellt... POST != Dateiupload!
Ja das ist ja wohl klar ;-) Du hast dir den von mir genannten Code wohl nicht angesehen. Denn dort wird ersichtlich: es gibt eine Callback-Funktion, die angeblich laut nicht vorhandener Dokumentation zum genannten HTTP-Code aufgerufen werden sollte, wenn ein POST-Request eintrifft. Die wird aber nicht aufgerfen. Eine Analyse mit Wireshark zeigte dann auch warum: im HTTP POST-Request, den mein Internet Explorer absendet, steht drin "Content Length: 0", was definitiv falsch ist! Auf meiner Website ist ein simpels Formular mit <form method="post" action=""> <input type="text" id="test" /> <input type="submit" /> </form> Somit sollte beim Drücken des Senden-Buttons der Inhalt der einen Textbox im Post-Request stehen und somit "Content Length" ungleich 0 sein. Oder nicht?
Gast
#2301117
Schaue dir die Appnote an LwIP IAP an. Dort wird lwIP verwendet mit einerm Http Server, um Flashfiles für IAP zu empfangen. Habe es leider selbst noch nicht getestet.
Tobias Plüss schrieb: > Du hast dir den von mir genannten Code wohl > nicht angesehen Hättest du die relevante Codestelle verlinkt hätte ich sie mir sicherlich angesehen... Aber nicht jeder steckt in "deinem" Thema derat drinne das er mit ein paar Wortfetzen sofort alles klar ist daher: Problem möglichst genau beschreiben. Das es eine Callbackfunktion nicht aufgerufen wird oder du Probleme mit content-length des IEs hast steht in keinem Satz erwähnt! Tobias Plüss schrieb: > Somit sollte beim Drücken des Senden-Buttons der Inhalt der einen > Textbox im Post-Request stehen Nein ist es nicht, dein Formular enthält effektiv keine Daten! Folgendes solltest du auf jeden Fall anpassen: - Jedes Input sollte (bis auf den Submitbutton) einen Namen erhalten also:
1 | |
Als Ziel/Action besser die konkrete URL angeben also z.B.
1 | |
Allgemein haben diese Probleme aber nix mit lwIP zu tun, weswegen es sich anbietet erst mal ein Funktionierendes Formular mit einem "normalem" Webserver zu erstellen wo man einfacher debuggen kann und dann mit dem Funktionierendem Beispiel angeblich nicht funktionierende andere Module zu testen, sonst weißt du nie was nun fehlerhaft ist: Dein Test oder das getestete Objekt.
Gast
#2301129
Ach ja, so sieht ein POST Request aus: http://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol#HTTP_POST Im Grunde wird die Länge übergeben und dann folgen die Daten. Kann man recht einfach verarbeiten.
Läubi .. schrieb: > - Jedes Input sollte (bis auf den Submitbutton) einen Namen erhalten > also:<input type="text" id="test" name="ein_text_feld"/> Was sagt Wireshark wenn du dem Formularfeld einen Namen gibst? Läubi .. schrieb: > Als Ziel/Action besser die konkrete URL angeben also z.B.<form method="post" action="submit.cgi"> Naja die Daten an die gleiche Seite zurückzusenden ohne extra-URL sollte eigentlich auch gehen. Ansonsten eben mal aufm normalen Webserver testen (dann kannnste dir das ja auch mit Wireshark angucken)
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.