Einfach den Pfad in chdir() ändern, oder das chdir() auskommentieren und das ganze Skript in's Root-Verzeichnis deiner lokalen kopie der Webseite kopieren und von da aus Starten. Dann kann man mit dem Browser den Server mit der URL "http://localhost" erreichen...
Code: Alles auswählen
#!/usr/bin/python
# -*- coding: ISO-8859-1 -*-
import CGIHTTPServer
import BaseHTTPServer
import os, sys
import webbrowser
# Zum Root-Verzeichnis der Webseite wechseln
# (Das Verz. mit der Einstiegts-"index.html" Seite)
os.chdir("/daten/MeineWebseite")
# Verz. in dem CGIs ausgeführt werden sollen. Leer lassen (="") für alle Verz.
cgiVerz = ""
# Port auf dem der Server anfragen entgegen nehmen soll.
ListenPort = 80
# Umgebungsvariablen setzten, die man in CGI-Skripten abfragen kann und normalerweise
# von einem echten WebServer automatisch gesetzt werden
# Evtl. selber erweitern ;)
os.environ['DOCUMENT_ROOT']=os.getcwd()
os.environ['HTTP_USER_AGENT']="Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE; rv:1.7.5) Gecko/20041108 Firefox/1.0"
os.environ['HTTP_HOST']="localhost"
os.environ['REMOTE_ADDR']="localhost"
class MyHandler(CGIHTTPServer.CGIHTTPRequestHandler):
"Modifizieren des Ursprünglichen Servers"
print "Lese Verzeichnisbaum für CGI-Ausführung...",
# Liste aller Unetrverzeichnisse erzeugen, damit überall CGIs ausgeführt werden.
cgi_directories = ["/"+i[0].replace("\\","/") for i in os.walk(cgiVerz)]
print "OK",len(cgi_directories),"Verz. gefunden\n"
def is_python(self, path):
"Endungen, die als Python-Skript ausgeführt werden sollen."
head, tail = os.path.splitext(path)
return tail.lower() in (".py", ".pyw", ".cgi")
def is_cgi(self):
"Ausführen eines Python-Skript"
path = self.path
for x in self.cgi_directories:
i = len(x)
if path[:i] == x and (path[i+1:] and path[i] == '/'):
self.cgi_info = path[:i], path[i+1:]
return True
return False
httpd = BaseHTTPServer.HTTPServer(("", ListenPort), MyHandler)
print "ROOT-Pfad:", os.getcwd()
print "Starte CGI-HTTP-Server auf Port",ListenPort
print "Seiten sind nun unter [http://localhost:%s] erreichbar!\n" % ListenPort
# Öffne Browser
webbrowser.open_new("http://localhost")
httpd.serve_forever()