Skript CGI může být tak jednoduchý nebo složitý, jak potřebujete. Mohlo by to být v Perlu, Jáva, Python nebo jiné programovací jazyk. Ve své podstatě aplikace CGI jednoduše přijímá požadavek přes HTTP (obvykle webový prohlížeč) a vrací HTML. Podívejme se na jednoduchý Perl Ahoj světe CGI skript a rozdělte jej na nejjednodušší formy.
"Ahoj svět" CGI Perl Script
#! / usr / bin / perl
print "Typ obsahu: text / html \ n \ n";
tisk <Jednoduchý Perl CGI Jednoduchý Perl CGI
Ahoj světe
HTML
výstup;
Pokud spustíte program na příkazovém řádku, uvidíte, že dělá přesně to, co jste očekávali. Nejprve vytiskne Typ obsahu řádek, potom vytiskne surový HTML. Abyste ji mohli ve webovém prohlížeči vidět v akci, musíte zkopírovat nebo nahrát skript na svůj webový server a ujistit se, že oprávnění jsou nastavena správně (chmod 755 v systémech * nix). Jakmile je nastavíte správně, měli byste mít možnost k němu přejít a zobrazit stránku zobrazenou na serveru naživo.
Klíčovým řádkem je první příkaz k tisku:
print "Typ obsahu: text / html \ n \ n";
To říká prohlížeči, že dokument přichází po dvou nové řádky bude HTML. Vy musí odešlete záhlaví, aby prohlížeč věděl, jaký typ dokumentu se blíží, a mezi záhlaví a skutečný dokument musíte vložit prázdný řádek.
Jakmile je záhlaví odesláno, jde pouze o odeslání samotného dokumentu HTML. Ve výše uvedeném příkladu používáme dokument here-doc ke zjednodušení tisku velkého kusu prostého textu. To samozřejmě není nic jiného než mít obyčejný HTML dokument sedící na vašem serveru. Skutečná síla použití programovacího jazyka, jako je Perl, k vytvoření HTML, přichází, když přidáte nějaké fantastické programování Perl.
Přidání do základního skriptu
V dalším příkladu se toho zúčastníme skript času a data a přidejte jej na svou webovou stránku.
#! / usr / bin / perl
@months = qw (Jan Únor Březen Duben Červen Červen Červenec Srpen Září Říjen Listopad Prosinec);
@weekDays = qw (neděle Po Út St Čt Pá So Ne);
($ 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";
tisk <Jednoduchý Perl CGI Jednoduchý Perl CGI
$ theTime
HTML
výstup;
Tento nový skript CGI vloží aktuální datum na stránku při každém vyvolání skriptu. Jinými slovy, stává se dynamický dokument, který se mění se změnou data, spíše než a statický dokument.