Skript CGI môže byť taký jednoduchý alebo zložitý, ako potrebujete. Mohlo by to byť v Perle, Jáva, Python alebo iné programovací jazyk. Aplikácia CGI vo svojom jadre jednoducho prijíma požiadavku prostredníctvom protokolu HTTP (zvyčajne webový prehliadač) a vracia HTML. Pozrime sa na jednoduchý Perl Ahoj svet Skript CGI a rozdeliť ho na najjednoduchšie formy.
"Ahoj svet" CGI Perl Script
#! / Usr / bin / perl
print "Typ obsahu: text / html \ n \ n";
tlač <Jednoduché Perl CGI Jednoduché Perl CGI
Ahoj svet
HTML
východ;
Ak spustíte program na príkazovom riadku, uvidíte, že robí presne to, čo ste očakávali. Najprv vytlačí Typ obsahu potom vytlačí surový HTML. Ak chcete, aby sa vo webovom prehliadači zobrazoval v praxi, budete musieť skopírovať alebo nahrať skript na svoj webový server a skontrolovať, či sú povolenia správne nastavené (chmod 755 v systémoch * nix). Po správnom nastavení by ste mali byť schopní prejsť na ňu a vidieť stránku, ktorá sa zobrazuje na serveri naživo.
Kľúčový riadok je prvý výtlačok:
print "Typ obsahu: text / html \ n \ n";
Prehliadaču to oznámi, že dokument prichádza po dvoch odriadkovanie bude HTML. vy musieť odošlite hlavičku, aby prehliadač vedel, aký typ dokumentu sa blíži, a medzi hlavičku a skutočný dokument musíte vložiť prázdny riadok.
Po odoslaní hlavičky je to len otázka samotného odoslania dokumentu HTML. Vo vyššie uvedenom príklade používame dokument here-doc na zjednodušenie tlače veľkého množstva obyčajného textu. Toto samozrejme nie je nič iné ako mať obyčajný dokument HTML, ktorý sedí na vašom serveri. Skutočná sila použitia programovacieho jazyka, ako je Perl, na vytvorenie vášho HTML, nastane, keď pridáte nejaké skvelé programovanie Perlu.
Pridávanie do základného skriptu
V nasledujúcom príklade sa toho zúčastníme skript času a dátumu a pridajte ho na svoju webovú stránku.
#! / Usr / bin / perl
@months = qw (január február marec máj jún jún júl jún september september november);
@weekDays = qw (nedeľa pon. Ut. Št. Pi. So.);
($ second, $ minute, $ hour, $ dayOfMonth, $ month, $ yearOffset, $ dayOfWeek, $ dayOfYear, $ daylightSavings) = localtime ();
$ year = 1900 + $ yearOffset;
$ theTime = "$ weekDays [$ dayOfWeek] $ month [$ month] $ dayOfMonth, $ year";
print "Typ obsahu: text / html \ n \ n";
tlač <Jednoduché Perl CGI Jednoduché Perl CGI
$ thetime
HTML
východ;
Tento nový skript CGI vloží aktuálny dátum na stránku zakaždým, keď sa skript volá. Inými slovami, stáva sa dynamický dokument, ktorý sa mení so zmenou dátumu, a nie a statický Dokument.