Uno script CGI può essere semplice o complesso come è necessario. Potrebbe essere in Perl, Giava, Python o qualsiasi altro linguaggio di programmazione. Fondamentalmente, un'applicazione CGI accetta semplicemente una richiesta via HTTP (in genere un browser Web) e restituisce HTML. Diamo un'occhiata a un semplice Perl Ciao mondo Script CGI e scomporlo nelle sue forme più semplici.
Script Hello CGI "Hello World"
#! / Usr / bin / perl
print "Tipo di contenuto: text / html \ n \ n";
stampa <Un semplice Perl CGI Un semplice Perl CGI
Ciao mondo
HTML
Uscita;
Se esegui il programma dalla riga di comando, vedrai che fa esattamente quello che ti aspetteresti. Innanzitutto, stampa il file Tipo di contenuto linea, quindi stampa il codice HTML non elaborato. Per vederlo in azione in un browser Web, è necessario copiare o caricare lo script sul server Web e assicurarsi che le autorizzazioni siano impostate correttamente (chmod 755 su sistemi * nix). Dopo averlo impostato correttamente, dovresti essere in grado di navigare e vedere la pagina visualizzata dal vivo sul tuo server.
La riga chiave è la prima dichiarazione di stampa:
print "Tipo di contenuto: text / html \ n \ n";
Questo dice al browser che il documento verrà dopo i due newlines sarà HTML. voi dovere invia un'intestazione in modo che il browser sappia quale tipo di documento verrà dopo e devi includere una riga vuota tra l'intestazione e il documento effettivo.
Una volta inviata l'intestazione, si tratta solo di inviare il documento HTML stesso. Nell'esempio sopra, stiamo usando un here-doc per semplificare la stampa di una grande porzione di testo semplice. Naturalmente, questo non è davvero diverso dall'avere un semplice documento HTML sul tuo server. Il vero potere di usare un linguaggio di programmazione come Perl per creare il tuo HTML viene quando aggiungi una programmazione Perl di fantasia.
Aggiunta allo script di base
Nel prossimo esempio, prendiamo parte di questo script di data e ora e aggiungilo alla tua pagina web.
#! / Usr / bin / perl
@months = qw (gen feb mar apr mag giu lug ago set ott nov dic);
@weekDays = qw (dom lun mar mer gio ven sab dom);
($ second, $ minute, $ hour, $ dayOfMonth, $ month, $ yearOffset, $ dayOfWeek, $ dayOfYear, $ daylightSavings) = localtime ();
$ anno = 1900 + $ annoOffset;
$ theTime = "$ weekDays [$ dayOfWeek] $ months [$ month] $ dayOfMonth, $ year";
print "Tipo di contenuto: text / html \ n \ n";
stampa <Un semplice Perl CGI Un semplice Perl CGI
$ il Time
HTML
Uscita;
Questo nuovo script CGI inserirà la data corrente nella pagina ogni volta che viene chiamato lo script. In altre parole, diventa a dinamico documento che cambia al variare della data, anziché a statico documento.