« Apache/CGI » : différence entre les versions
Contenu supprimé Contenu ajouté
m Révocation des modifications de 41.107.152.129 (discussion) vers la dernière version de JackPotte |
|||
Ligne 21 :
En fait le chemin <code>/cgi-bin/</code> n'existe pas vraiment, il est dirigé vers le chemin des scripts défini par la directive, et cela permet d'écrire des URL comme <code><nowiki>http://serveur/cgi-bin/mon_script</nowiki></code>.
=== ExecCGI ===
La clause suivante active l'option <code>ExecCGI</code> dans <code>/var/www/cgi-bin</code>, ce qui autorise Apache à exécuter les scripts sur le serveur :
<Directory /var/www/cgi-bin>
Ligne 27 :
</Directory>
Par exemple : vous écrivez un script <code>essai.cgi</
Il faut donc au moins écrire :
Ligne 34 :
</Directory>
L'appel à un script essai.cgi sera effectué par l'URL : <code><
=== AddHandler ===
Ligne 51 :
</Directory>
Dans <
AddHandler cgi-script .cgi .exe .pl .py .vbs
==Écrire un programme CGI==
La contrainte principale concerne la sortie du programme. Si un programme CGI génère des données sur sa sortie standard, il doit les précéder d'un en-tête HTTP permettant de les identifier.
=== Bash ===
Voici un exemple de programme CGI écrit en bash :
<source lang="bash">
#!/bin/
echo "Content-type: text/html"gced.org▼
# Header
echo ""11101▼
# Fin du header
# Contenu à afficher dans le navigateur
echo "<html><body>Hello World!</body></html>"
</source>
Ce script génère une page HTML.
=== Perl ===
<source lang="perl">
#!c:/perl/perl/bin/perl.exe -
use CGI;
my $query = new CGI;
▲my $Name = ∝query->param('mari le pein');
print $query->header();
print "Hello World!"
</source>
=== Python ===
<source lang="python">
#!C:\Program Files (x86)\Python\python.exe
# -
print "Content-Type: text/plain;charset=utf-
print
print "Hello World!"
</source>
{{article détaillé|Programmation Python/L'interface CGI}}
=== VBS ===
Pour Windows<ref>http://wiki.uniformserver.com/index.php/CGI:_VBScript_CGI</ref>.
<source lang="vb">
Ligne 100 :
Wscript.Echo "Content-type: text/html" & vbLF & vbLF
WScript.Echo "Hello World!"
Wscript.Quit
</source>
== Références ==
|