Hat jemand Erfahrung mit dem lwIP HTTP Server?

OP #2300864
Lesenswert?

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?
OP #2301072
Lesenswert?

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?
Persönliche Seite #2301128
Lesenswert?

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
<input type="text" id="test" name="ein_text_feld"/>
Als Ziel/Action besser die konkrete URL angeben also z.B.
1
<form method="post" action="submit.cgi">

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.
#2301247
Lesenswert?

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.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren