Ein CGI-Skript kann so einfach oder komplex sein, wie Sie es benötigen. Es kann in Perl, Java, Python oder einer anderen Programmiersprache sein. Im Kern nimmt eine CGI-Anwendung einfach eine Anforderung über HTTP (normalerweise einen Webbrowser) entgegen und gibt HTML zurück. Schauen wir uns ein einfaches Perl an Hallo Welt CGI-Skript und zerlegen Sie es in seine einfachsten Formen.
#! / usr / bin / perl
print "Inhaltstyp: text / html \ n \ n";
drucken <
Ein einfaches Perl-CGIEin einfaches Perl-CGI
Hallo Welt
HTML
Ausfahrt;
Wenn Sie das Programm über die Befehlszeile ausführen, werden Sie feststellen, dass es genau das tut, was Sie erwarten. Zuerst druckt es die Inhaltstyp Zeile, dann druckt es das rohe HTML. Um es in einem Webbrowser in Aktion zu sehen, müssen Sie das Skript kopieren oder auf Ihren Webserver hochladen und sicherstellen, dass die Berechtigungen korrekt festgelegt sind (chmod 755 auf * nix-Systemen). Sobald Sie es richtig eingestellt haben, sollten Sie in der Lage sein, dorthin zu navigieren und die Seite live auf Ihrem Server anzuzeigen.
Die Schlüsselzeile ist die erste Druckanweisung:
print "Inhaltstyp: text / html \ n \ n";
Dies teilt dem Browser mit, dass das Dokument nach den beiden kommt Zeilenumbrüche wird HTML sein. Du Muss Senden Sie eine Kopfzeile, damit der Browser weiß, welche Art von Dokument als Nächstes ansteht, und fügen Sie eine Leerzeile zwischen der Kopfzeile und dem eigentlichen Dokument ein.
Sobald der Header gesendet wurde, muss lediglich das HTML-Dokument selbst gesendet werden. Im obigen Beispiel verwenden wir ein Here-Doc, um das Drucken eines großen Teils von einfachem Text zu vereinfachen. Dies ist natürlich nicht anders als ein einfaches HTML-Dokument auf Ihrem Server zu haben. Die eigentliche Stärke der Verwendung einer Programmiersprache wie Perl zum Erstellen von HTML kommt zum Tragen, wenn Sie ausgefallene Perl-Programme hinzufügen.
Nehmen wir im nächsten Beispiel an diesem Zeit- und Datumsskript teil und fügen es Ihrer Webseite hinzu.
#! / usr / bin / perl
@months = qw (Jan Feb Mar Apr Mai Jun Jul Aug Sep Okt Nov Dez);
@weekDays = qw (So Mo Di Mi Do Fr Sa So);
($ second, $ minute, $ hour, $ dayOfMonth, $ month, $ yearOffset, $ dayOfWeek, $ dayOfYear, $ daylightSavings) = localtime ();
$ year = 1900 + $ yearOffset;
$ theTime = "$ weekDays [$ dayOfWeek] $ months [$ month] $ dayOfMonth, $ year";
print "Inhaltstyp: text / html \ n \ n";
drucken <
Ein einfaches Perl-CGIEin einfaches Perl-CGI
$ theTime
HTML
Ausfahrt;
Dieses neue CGI-Skript fügt bei jedem Aufruf das aktuelle Datum in die Seite ein. Mit anderen Worten, es wird ein dynamisch Dokument, das sich ändert, wenn sich das Datum ändert, anstatt eines statisch dokumentieren.