Einen wunderschönen guten Morgen!
Meine Frage ist eigentlich ganz einfach, aber ich finde anscheinend nicht die Richtigen Module. Also mein Problem ist folgendes:
Ich habe ein HTML-Formular, mit dem einige Daten, darunter auch Dateien, an einen Server übermittelt werden sollen. Sagen wir mal zwei Inputfelder "input1" und "input2" und eine Datei "file1".
Das Problem besteht nun aber auf der Seite des Servers, welchen ich als "HTTPServer" mit einem "BaseHTTPRequestHandler"-Handler aufgesetzt habe. Die daten per "get_POST" zu empfangen funktioniert wunderbar. Aus den empfangenen Daten würde ich nun gerne die Informationen über die übergebenen Daten herausholen: Namen und Inhalt. Im Prinzip also in etwa das, was "FieldStorage" auf CGI-Ebene erledigt. Den Spaß selber zu parsen ist ja an sich kein Problem, aber ich gehe doch davon aus, das es bereits etwas fertiges gibt.
Ein Umweg über CGI-Skripte ist nicht möglich, da der Server nur als schlankes Front-End basieren soll und eine recht große Anwendung dahinter steht, bzw. stehen soll.
Na, dann hoffe ich mal auf euer geballtes Wissen und eure Hilfsbereitschaft
Sebastian
EDIT: Ach verdammt, war das einfach. Problem ist gelöst, Lösung kommt gleich.
Parameter aus HTTP-POST-Request holen [gelöst]
So, mein eigener Post und CGI haben bei mir irgendwie eine Eingebung ausgelöst:
Aber man muss zugeben, das war schon schwierig
Code: Alles auswählen
class Handler(BaseHTTPRequestHandler):
def do_POST(self):
import cgi
ctype, pdict = cgi.parse_header(self.headers.getheader('content-type'))
if ctype == "multipart/form-data":
print cgi.parse_multipart(self.rfile, pdict)