CGIHTTPServer funzt nicht richtig

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
SeB

Hi,

ich habe mal den CGIHTTPServer aus dem Codesnipets-forum ausprobiert und bei mir läuft er irgendwie nicht richtig: Ich kann zwar über CGI Python-Skript ausführen aber irgendwie werden den Skripts keine Argumente bzw. die Values der Formfelder von der HTML-Seite übergeben die das Skript aufruft.
Also im Klartext: der CGIHTTPServer übergibt keine Argumente an die Python-Skripts, sondern ruft sie immer nur ohne auf.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Also das kann eigentlich nicht sein... Welche Sourcen hast du denn genau genutzt?

und os.environ['QUERY_STRING'] und cgi.FieldStorage() sind leer???
SeB

Also ich hab deinen Source für den Server genommen, nur den listenport hab ich auf 8000 geändert.

Also dass das cgi.FieldStorage() leer ist, ist genau das Problem. Da kommt irgendwie nix an. os.environ['QUERY_STRING'] hab ich noch nicht getestet, aber eigentlich müsste das Skript doch das FieldStorage benutzen, oder?
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Ich hoffe ich vertausche es nicht wieder ;) Die URL-Parameter sind die GET-Daten und können per os.environ['QUERY_STRING'] angerufen werden. Die POST Daten könne mit den cgi.FieldStorage() abgerufen werden... s. selfhtml

Also normalerweise wird an beiden Varianten nichts verändert... Ich würde vorschlagen du testes erstmal mit einer minimal Variante:

Code: Alles auswählen

import CGIHTTPServer, BaseHTTPServer
httpd = BaseHTTPServer.HTTPServer(("", 8000), CGIHTTPServer.CGIHTTPRequestHandler)
httpd.serve_forever()
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Hier gucken und die nächsten 2 Posts von mir :wink: . Da hab ich auch ganz schön blöd aus der Wäsche geschaut.

BTW: verschoben nach Python und Netzwerke.
SeB

Hehe, vielen Dank an euch.

Jetzt funzt es einwandfrei :D
Antworten