Sommaire

Exécuter des scripts avec le module cgi Module CGI

CGI, signifiant Common Gateway Interface et décrit dans la RFC 3875, est une interface destinée aux serveurs HTTP. Cette interface rajoute une fonctionnalité supplémentaire : l’interprétation de scripts, en l’occurrence de scripts Python dans le cas d’un serveur HTTP Python. À l’inverse d’un serveur traditionnel se contentant simplement de lire une page web et de renvoyer le contenu au client ayant demandé la page, avec CGI le serveur HTTP exécute un script qui, une fois exécuté, renvoie le résultat au client. L’interface CGI exploite aussi l’échange entre le client et le serveur à travers la méthode HTTP POST, communément mise en œuvre par le biais d’un formulaire. L’interface CGI n’est pas spécifique au langage Python et existe dans de nombreux autres langages de programmation. CGI (Common Gateway Interface) RFC 3875 Serveur HTTP:méthode HTTP POST

Dans la pratique, ajouter une interface CGI à un serveur HTTP Python requiert de programmer un gestionnaire HTTP conforme au protocole CGI. Une fois n’est pas coutume, la bibliothèque standard contient un gestionnaire déjà prêt à l’emploi : CGIHTTPRequestHandler. Le code de ce serveur HTTP/CGI est sensiblement le même que celui d’un serveur HTTP classique (Chapitre_6/serveurcgi_1.py) : Module CGI:CGIHTTPRequestHandler ...