Die Python Dokumentation enthält an example of creating an HTTP server:Wie kann ich Parameter an einen RequestHandler übergeben?
def run(server_class=HTTPServer, handler_class=BaseHTTPRequestHandler):
server_address = ('', 8000)
httpd = server_class(server_address, handler_class)
httpd.serve_forever()
A RequestHandler
Klasse die Server
vorgesehen ist, die dann dafür sorgt, automatisch den Handler instanziieren.
Angenommen, ich möchte benutzerdefinierte Parameter an den Anforderungshandler übergeben, wenn es erstellt wird. Wie kann und soll ich das tun?
Genauer gesagt möchte ich Parameter von der Befehlszeile übergeben, und sys.argv
innerhalb der Request-Handler-Klasse scheint unnötig klobig.
Es scheint, dass dies möglich sein sollte durch Überschreiben von Teilen der Server
Klasse, aber ich fühle mich wie ich eine einfachere und bessere Lösung übersehen.
Siehe Warum nicht die Handler-Klasse Unterklasse? – XORcist
Dies scheint ein großer Fehler in der Socketserver Bibliothek Design –