Seite 1 von 1

newbie: einfache CGI-Programmierung: FRAGE

Verfasst: Samstag 26. Februar 2005, 14:27
von hmikux
Hallo,

ich versuche mich gerade in Python einzuarbeiten und benutze hierzu das Buch "Python ge-packt" von M.Weigend. Bei meinem ersten kleinen cgi-script bin ich jedoch schon auf Schwierigkeiten gestossen!

Folgendes ist das Problem:
Ich benutze den einfachen Webserver aus dem Buch um die cgi-Scripte zu testen.

Code: Alles auswählen

#!/usr/local/bin/python
from BaseHTTPServer import HTTPServer
from CGIHTTPServer import CGIHTTPRequestHandler
serveradresse=("", 8080)
server=HTTPServer(serveradresse,CGIHTTPRequestHand ler)
server.serve_forever()
Dieser funktioniert auch einwandfrei, ich kann die index.html ueber http://localhost:8080 aufrufen.
Das webserver-Verzeichnis habe ich angelegt in: /etc/httpserver. Hier liegt das eigentliche Script für den webserver httpd.py und die index.html. Zusätzlich habe ich nun noch ein weiteres Verzeichnis angelegt: /etc/httpserver/cgi-bin. Hier liegt mein cgi-Script (name: time.py).

Code: Alles auswählen

#!/usr/local/bin/python
from time import *
print "Content-Type: text/html"
print
print "<html><head><title> CGI-script </title></head>"
print "<body><h1> current time</h1>"
print ctime( time() )
print "</body></html>"
Sobald ich nun das Script mit http://localhost:8080/cgi-bin/time.py ausführe, sehe ich lediglich die weisse Seite + den Spruch "current time" in Schrift <h1> ...mehr nicht, keine aktuelle Uhrzeit.

Folgende Fehlermeldung erscheint:

Code: Alles auswählen

localhost - - [24/Feb/2005 22:15:59] "GET /cgi-bin/time.py HTTP/1.1" 200 -
Traceback (most recent call last):
File "/etc/httpserver/cgi-bin/time.py", line 9, in ?
from time import *
File "/etc/httpserver/cgi-bin/time.py", line 14, in ?
print ctime( time() )
NameError: name 'ctime' is not defined
localhost - - [24/Feb/2005 22:15:59] CGI script exit status 0x100
Was mache ich da falsch???

Welche Attribute benötigt eigentlich die Datei? Genügt: ausführbar für alle (also chmod 711)??

DANKE
__________________
Gruß hmikux aus Hessen

Edit (Leonidas): Code in Python Tags gesetzt

Verfasst: Samstag 26. Februar 2005, 14:49
von XT@ngel
Hi,
dein CGI Python Script hat den Namen time.py
so heisst aber schon das Python Modul das Du aus der Standard-Lib importiert hast bzw. deren Funktionen in den aktuellen Namensraum.
Gib deinem Script einen anderen Namen dann gehts.

Edit:
Das obere ist eine Vermutung, hab das jetzt mal getestet und dabei festgestellt das dein Script auch funktioniert wenn ich der Datei den Namen time.py gebe? allerding unter Apache getestet.

MfG
andreas

Verfasst: Samstag 26. Februar 2005, 15:24
von Gast
SUPER..danke, das war es! Habe mein script einfach in uhr.py unbenannt und schon funktioniert es.

Übrigens bei www.mrunix.de habe ich die gleicht Frage reingestellt (am Donnerstag), bis heute jedoch keine Antwort!
Und bei euch innerhalb weniger Stunden - SUPER!!!!

Verfasst: Samstag 26. Februar 2005, 15:29
von Leonidas
Anonymous hat geschrieben:Übrigens bei www.mrunix.de habe ich die gleicht Frage reingestellt (am Donnerstag), bis heute jedoch keine Antwort!
Und bei euch innerhalb weniger Stunden - SUPER!!!!
Wir sind ja auch ein spezialisiertes Forum, nicht so ein Allround-Ding.