Il modulo CGIHTTPServer definisce una classe di gestione (handler), con interfaccia compatibile con BaseHTTPServer.BaseHTTPRequestHandler, eredita le sue caratteristiche da SimpleHTTPServer.SimpleHTTPRequestHandler potendo anche eseguire script CGI.
Note: Questo modulo può eseguire script CGI su sistemi Unix e Windows; su sistemi Mac OS sarà in grado solo di eseguire script Python all'interno del suo stesso processo.
Il modulo CGIHTTPServer definisce le seguenti classi:
request, client_address, server) |
La classe comunque, esegue lo script CGI, invece di servirlo come file, se viene informata che l'oggetto è uno script CGI. Vengono utilizzati solo CGI basati su directory -- la configurazione dei server comuni è di trattare le estensioni speciali considerandole come script CGI.
Le funzioni do_GET() e do_HEAD() vengono
modificate per eseguire gli script CGI e servire l'output, invece di
servire i file, se la richiesta viene è fatta all'interno dei percorsi
cgi_directories
sottostanti.
La classe CGIHTTPRequestHandler definisce i seguenti dati membri:
['/cgi-bin', '/htbin']
e descrive
le directory in cui i file devono essere considerati script CGI.
La classe CGIHTTPRequestHandler definisce i seguenti metodi:
) |
'POST'
, permesse solo
per gli script CGI. Viene generato l'errore 501, "Can only POST to
CGI scripts" quando si cerca di usare questa funzione con url non
CGI.
Notare che gli script CGI verranno eseguiti con UID dell'utente nobody, per motivi di sicurezza. Problemi con gli script CGI verranno convertiti in errore 403.
Per un esempio sull'utilizzo, si veda l'implementazione della funzione test().
Vedete anche: