Question lié à CGIHTTPServer.
Bonjour,
Voila je débute sur l'utilisation de SimpleHTTPServer ainsi j'ai voulu évolué mon server initiale dans le but de lui faire comprendre le CGI j'ai fais donc ce script :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #!/usr/bin/env python
import SocketServer
import CGIHTTPServer
class HttpRq (CGIHTTPServer.CGIHTTPRequestHandler) :
def do_GET(self) :
if self.path == "/admin/" :
self.wfile.write("Admin only\n\n")
self.wfile.write(self.headers)
else :
CGIHTTPServer.CGIHTTPRequestHandler.do_GET(self)
httpserv = SocketServer.TCPServer(("",10000),HttpRq)
httpserv.serve_forever() |
Je le lance sans aucun soucis sauf que lorsque je tente de lire depuis le naviguateur dans le dossier htbin je reçois une erreur 403 (normal jusqu'ici) mais lorsque je tente d'executer un script très simple tel :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| #!/usr/bin/perl
# Starting First CGI script
print "Content-type: text/html\n\n";
print "<HTML>"
print "<HEAD>"
print "<TITLE> DAT NAME </TITLE>"
print "</HEAD>"
print "<BODY>"
print "<H1> HI THERE ! </H1>"
print "</BODY>"
print "</HTML>" |
Je reçois aucune erreur mais pas de script non plus juste comme si la page était trouvé mais jamais lancé . Je reçois comme erreur dans le server :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| Exception happened during processing of request from ('192.168.1.13', 55120)
Traceback (most recent call last):
File "/usr/lib/python2.7/SocketServer.py", line 295, in _handle_request_noblock
self.process_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 321, in process_request
self.finish_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python2.7/SocketServer.py", line 649, in __init__
self.handle()
File "/usr/lib/python2.7/BaseHTTPServer.py", line 340, in handle
self.handle_one_request()
File "/usr/lib/python2.7/BaseHTTPServer.py", line 328, in handle_one_request
method()
File "./servcgi.py", line 12, in do_GET
CGIHTTPServer.CGIHTTPRequestHandler.do_GET(self)
File "/usr/lib/python2.7/SimpleHTTPServer.py", line 44, in do_GET
f = self.send_head()
File "/usr/lib/python2.7/CGIHTTPServer.py", line 69, in send_head
return self.run_cgi()
File "/usr/lib/python2.7/CGIHTTPServer.py", line 162, in run_cgi
env['SERVER_NAME'] = self.server.server_name
AttributeError: TCPServer instance has no attribute 'server_name' |
Je ne vois franchement pas le problème si quelqu'un aurait la solution.
Merci.