Un script CGI peut être aussi simple ou complexe que vous en avez besoin. Ça pourrait être en Perl, Java, Python ou tout langage de programmation. À sa base, une application CGI prend simplement une demande via HTTP (généralement un navigateur Web) et renvoie HTML. Regardons un simple Perl Bonjour le monde Script CGI et le décomposer en ses formes les plus simples.
Script Perl CGI «Hello World»
#! / usr / bin / perl
print "Content-type: text / html \ n \ n";
imprimer <Un simple CGI Perl Un simple CGI Perl
Bonjour le monde
HTML
sortie;
Si vous exécutez le programme sur la ligne de commande, vous verrez qu'il fait exactement ce que vous attendez. Tout d'abord, il imprime le Type de contenu ligne, puis il imprime le HTML brut. Pour le voir en action dans un navigateur Web, vous devrez copier ou télécharger le script sur votre serveur Web et vous assurer que les autorisations sont correctement définies (chmod 755 sur les systèmes * nix). Une fois que vous l'avez configuré correctement, vous devriez pouvoir y accéder et voir la page affichée en direct sur votre serveur.
La ligne clé est la première instruction d'impression:
print "Content-type: text / html \ n \ n";
Cela indique au navigateur que le document venant après les deux nouvelles lignes va être HTML. Vous doit envoyer un en-tête pour que le navigateur sache quel type de document arrive ensuite, et vous devez inclure une ligne vierge entre l'en-tête et le document réel.
Une fois l'en-tête envoyé, il suffit d'envoyer le document HTML lui-même. Dans l'exemple ci-dessus, nous utilisons un document ici pour simplifier l'impression d'un gros morceau de texte brut. Bien sûr, ce n'est vraiment pas différent d'avoir un document HTML ordinaire sur votre serveur. La vraie puissance d'utiliser un langage de programmation comme Perl pour créer votre code HTML vient lorsque vous ajoutez une programmation Perl sophistiquée.
Ajout au script de base
Dans l'exemple suivant, prenons une partie de cette script d'heure et de date et ajoutez-le à votre page Web.
#! / usr / bin / perl
@months = qw (janv. févr. mars avril mai juin juil. août sept. oct. nov. déc.);
@weekDays = qw (dim lun mar mar jeu ven ven sam dim);
($ seconde, $ minute, $ heure, $ dayOfMonth, $ month, $ yearOffset, $ dayOfWeek, $ dayOfYear, $ daylightSavings) = localtime ();
$ year = 1900 + $ yearOffset;
$ theTime = "$ weekDays [$ dayOfWeek] $ mois [$ mois] $ dayOfMonth, $ year";
print "Content-type: text / html \ n \ n";
imprimer <Un simple CGI Perl Un simple CGI Perl
$ theTime
HTML
sortie;
Ce nouveau script CGI insérera la date actuelle dans la page à chaque appel du script. En d'autres termes, il devient un dynamique document qui change à mesure que la date change, plutôt qu'un statique document.