newbie: einfache CGI-Programmierung: FRAGE

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
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
XT@ngel
User
Beiträge: 255
Registriert: Dienstag 6. August 2002, 14:36
Kontaktdaten:

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
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!!!!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten