CGIHTTPRequestHandler funktioniert nicht
Verfasst: Montag 4. April 2011, 20:15
Da dies zu TCP/IP gehört habe ich es hier gepostet.
Also, mein Problem ist, dass mein CGIHTTPRequestHandler nicht funktioniert, nämlich Python-seits.
Python gibt aus, dass 'TCPServer' kein Attribut namens 'server_name' hat.
Hier die Fehlermeldung:
Hier das CGI-Skript(cgi-bin/test.py):
Und hier der Server:
Soweit ist alles okay, aber anscheinend hat Python ein Fehler im TCPServer-Modul entdeckt. Vllt. liegt es auch bei dem CGIHTTPRequestHandler.
Empfehlt ihr mir, den nochmal neu zu schreiben, aber dann mit dem BasicHTTPServer?
Also, mein Problem ist, dass mein CGIHTTPRequestHandler nicht funktioniert, nämlich Python-seits.
Python gibt aus, dass 'TCPServer' kein Attribut namens 'server_name' hat.
Hier die Fehlermeldung:
Code: Alles auswählen
Exception happened during processing of request from ('127.0.0.1', 41021)
Traceback (most recent call last):
File "/usr/lib/python3.1/socketserver.py", line 281, in _handle_request_noblock
self.process_request(request, client_address)
File "/usr/lib/python3.1/socketserver.py", line 307, in process_request
self.finish_request(request, client_address)
File "/usr/lib/python3.1/socketserver.py", line 320, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python3.1/socketserver.py", line 614, in __init__
self.handle()
File "/usr/lib/python3.1/http/server.py", line 352, in handle
self.handle_one_request()
File "/usr/lib/python3.1/http/server.py", line 346, in handle_one_request
method()
File "/usr/lib/python3.1/http/server.py", line 605, in do_GET
f = self.send_head()
File "/usr/lib/python3.1/http/server.py", line 875, in send_head
return self.run_cgi()
File "/usr/lib/python3.1/http/server.py", line 964, in run_cgi
env['SERVER_NAME'] = self.server.server_name
AttributeError: 'TCPServer' object has no attribute 'server_name'
Code: Alles auswählen
import cgi
import cgitb; cgitb.enable()
print("Content-Type: text/html")
print("")
print("<html><head><title>Test</title></head><body><h1>Hello World!</h1></body></html>")
Code: Alles auswählen
import http.server
import socketserver
PORT = 8000
HTTP = ""
handler = http.server.CGIHTTPRequestHandler
httpd = socketserver.TCPServer((HTTP, PORT), handler)
httpd.serve_forever()
Empfehlt ihr mir, den nochmal neu zu schreiben, aber dann mit dem BasicHTTPServer?