====== CGI-Scripte ====== Folgende Ausführungen zur Erstellung von CGI-Scripten mit TUSCRIPT wurden von - [ schaelkle | schaelkle ] auf dem TUSTEP-Workshop 2012 in Blaubeuren vorgestellt und von - {{files_open:benutzericons:schneider-lastin-lg.jpg?nolink&16x16|schneider-lastin}} schneider-lastin leicht verändert ins Wiki übernommen. ---- [[tuscript:loesungen:start|Zurück zum Inhaltsverzeichnis - Lösungen und Tipps]] ---- ===== Vorbemerkungen ===== **Common Gateway Interface**\\ * Das Common Gateway Interface (CGI) ist ein **Standard für den Datenaustausch** zwischen einem **Webserver** und dritter Software, die **Anfragen** bearbeitet. Dieser Standard ermöglicht es WWW-Browsern, Programme (Scripte) auf WWW-Servern auszuführen. Mit CGI können **HTML-Seiten dynamisch erstellt** werden, die zur Zeit der Anfrage noch nicht auf dem Server existieren, sondern erst von dem CGI-Script erzeugt werden. * Scripte sind in ASCII-Dateien stehende Anweisungsfolgen. * Scripte müssen in fest vorgegebenen Verzeichnissen stehen. * WWW-Server kann auch der eigene PC sein. \\ **Aufruf von TUSTEP auf einem WWW-Server**\\ * TUSTEP erwartet bestimmte Informationen in Systemvariablen. * Diese Systemvariablen werden mit einem Script definiert. * Erst dann wird TUSTEP (unter WINDOWS automatisch) aufgerufen. \\ **Aufruf eines CGI-Scripts über WWW**\\ //Client://\\ * Browser aufrufen; Servername, Scriptname und evt. Anfragetext eingeben. http://servername/cgi-bin/scriptname?anfragetext * Browser schickt den Scriptnamen und ggf. den Anfragetext zum Server. \\ //Server://\\ * Server setzt Systemvariablen und ruft das Script. SERVER_NAME, SCRIPT_NAME, QUERY_STRING, ... * Script setzt Systemvariablen und ruft TUSTEP. TUSTEP_CGI, TUSTEP_DSK, TUSTEP_SCR, ... * TUSTEP ruft das mit TUSTEP_CGI vorgegebene Script. * Das CGI-Script erzeugt eine HTML-Datei. * Server schickt die HTML-Datei zurück. \\ //Client://\\ * Browser zeigt die HTML-Datei an. \\ **Script-Aufruf wird vom Server zerlegt**\\ Aufruf des Scripts:\\ http://localhost/cgi-bin/wochentag?TAG=6&MONAT=1&JAHR=2014 Der Server **zerlegt** den Aufruf in drei Teile und **speichert** sie in Systemvariablen.\\ Abfragen der Systemvariablen:\\ FETCH server = SERVER_NAME server: localhost FETCH script = SCRIPT_NAME script: /cgi-bin/wochentag FETCH query = QUERY_STRING falls METHOD=GET query: TAG=6&MONAT=1&JAHR=2014 FETCH query = -STD- falls METHOD=POST \\ **Anfragetext muss vom Script zerlegt werden**\\ SET liste = DECODE (query, CGI) liste: TAG=6 MONAT=1 JAHR=2014 SET tag = GET_VALUE (liste, "TAG") tag: 6 SET monat = GET_VALUE (liste, "MONAT") monat: 1 SET jahr = GET_VALUE (liste, "JAHR") jahr: 2014 \\ ===== Schritt 1: Einrichten eines Server-Verzeichnisses ===== #DATEI, server, PROJEKT, c \\ ===== Schritt 2: Starten des Servers ===== #*SERVER {{files_open:bilder:server.jpg|server.jpg}}\\ \\ ===== Schritt 3: Einrichten eines CGI-Scripts ===== #*CGI → Datei 'tustep.ini' wird automatisch eingerichtet.\\ {{files_open:bilder:TUSCRIPT_CGI_Script_einrichten.jpg|TUSCRIPT_CGI_Script einrichten.jpg}}\\ \\ ===== Schritt 4: Aufruf des Scripts ===== http://localhost/uhrzeit {{files_open:bilder:tuscript_cgi_script_aufrufen.jpg|TUSCRIPT_CGI_Script aufrufen.jpg}}\\ \\ \\ ===== Erstellen eines eigenen CGI-Scripts ===== \\ 1. Anmelden der Datei 'tustep.ini' und Öffnen der Standard-Editor-Datei\\ #ANMELDE, server*tustep.ini, TRAEGER=C #EDIERE,-std- 2. Schreiben des Scripts in der Standard-Editor-Datei\\ $$ MODE TUSCRIPT, {} FETCH server = SERVER_NAME FETCH script = SCRIPT_NAME SET url = "http://{server}{script}" SET zeit = TIME_3 () = $ Uhrzeit

Es ist jetzt {zeit} Uhr.

3. Retten des Scripts aus der Standard-Editor-Datei als Segment in die Datei 'tustep.ini'\\ r,server*tustep.ini,uhrzeit 4. Aufruf des Scripts\\ http://localhost/uhrzeit {{files_open:bilder:tuscript_cgi_script_aufrufen2.jpg|TUSCRIPT_CGI_Script aufrufen2.jpg}}\\ \\ **Wird fortgesetzt.** ---- [[tuscript:loesungen:start|Zurück zum Inhaltsverzeichnis - Lösungen und Tipps]]