Python CGI-Skripte erstellen



Ähnliche Dokumente
php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

Web Visu Tutorial. Hipecs Web Visu. Übersicht

Aufgaben HTML Formulare. Prof. Dr. rer. nat. Claus Brell, Wirtschaftsinformatik, Statistik

Dynamik bis zur DB-Interaktion. Marc Schanne. CGI Möglichkeiten

Einführung in die Scriptsprache PHP

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Schiller-Gymnasium Hof

Herzlich willkommen im Modul Web-Engineering

4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen

ERSTE SCHRITTE.

WISO Kaufmann, WISO Lohn & Gehalt Versionsnummer Thema. Software. Zertifizierungsantrag bei der ITSG Datum Januar 2010

Programmieren 2 (Prof. Hasbargen) Klausur

HTML Formulare. Benutzerschnittstelle für interaktive Webseiten

Stapelverarbeitung Teil 1

Online-Publishing mit HTML und CSS für Einsteigerinnen

Apache HTTP-Server Teil 2

Motivation. Inhalt. URI-Schemata (1) URI-Schemata (2)

HTML5. Wie funktioniert HTML5? Tags: Attribute:

Step by Step Webserver unter Windows Server von Christian Bartl

Copyright by HMS GmbH. All rights reserved.

teischl.com Software Design & Services e.u. office@teischl.com

Online-Publishing mit HTML und CSS für Einsteigerinnen

Wie kann ich in der Backstage-Ansicht eigene Dokumentationen einbinden?

Proseminar: Website-Management-Systeme

SSO-Schnittstelle. Inhalt: Beschreibung der Single Sign-On (SSO) Schnittstelle. NetSlave GmbH Simon-Dach-Straße 12 D Berlin

Einführung in die Skriptsprache PHP

Modul CTO Barcode für Windows Seite 1

Formulare in html Bernd Bl umel Version: 1. April 2003

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Import und Export von Übergängern

I. Travel Master CRM Installieren

Seriendruck mit der Codex-Software

Stecken Sie Ihren USB Stick oder Ihre externe USB Festplatte in den USB Steckplatz des Sinus 154 DSL SE.

Standard-Kontaktformular

TimeMachine. Time CGI. Version 1.5. Stand Dokument: time.odt. Berger EDV Service Tulbeckstr München

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Anwendungsprotokolle: HTTP, POP, SMTP

Durch Doppelklick auf die Zeile der entsprechenden Schnittstelle gelangt man in die Detaileingabe der Schnittstelle.

Funktionen in PHP 1/7

Adminer: Installationsanleitung

Seriendruck mit der Codex-Software

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

FTP Tutorial. Das File Transfer Protocol dient dem Webmaster dazu eigene Dateien wie z.b. die geschriebene Webseite auf den Webserver zu laden.

Multimedia im Netz Wintersemester 2011/12

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Um über FTP Dateien auf Ihren Public Space Server - Zugang laden zu können benötigen Sie folgende Angaben:

Anleitung für die Formularbearbeitung

Leitfaden zur Nutzung von binder CryptShare

Wie funktioniert das WWW? Sicher im WWW

desk.modul : WaWi- Export

HTBVIEWER INBETRIEBNAHME

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Übersicht über Document Portal

Dokumentation für das Web-basierte Abkürzungsverzeichnis (Oracle mod_plsql / Apache)

Handbuch - HotSpot-Sheriff Verwaltung

Ursprung des Internets und WWW

Datenbanksysteme SS 2007

INSTALLATION. Voraussetzungen

Entwurf und Realisierung von Online-Umfragen Entwurf und Realisierung von Online-Umfragen

Bedienungsanleitung. 1. Eine direkte (1 1) Verbindung muss mit einem gekreuzten (Crossover) Netzwerkkabel hergestellt werden.

Betriebshandbuch. MyInTouch Import Tool

Das Starten von Adami Vista CRM

12. Dokumente Speichern und Drucken

Arbeitsblätter auf die Schülercomputer verteilen, öffnen und wieder einsammeln

Einrichtung Secure-FTP

4D v11 SQL Release 6 (11.6) ADDENDUM

my.green.ch... 2 Domänenübersicht... 4

Collax VPN. Howto. Vorraussetzungen Collax Security Gateway Collax Business Server Collax Platform Server inkl. Collax Modul Gatekeeper

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Anleitung: Webspace-Einrichtung

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Dreamweaver 8 Einführung

-Verschlüsselung mit S/MIME

Verwenden der Option Laufzettel

Lokale Installation von DotNetNuke 4 ohne IIS

Erstellen von Mailboxen

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

Comtarsia SignOn Familie

Erstellen eigener HTML Seiten auf ewon

Access Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli inkl. zusätzlichem Übungsanhang ACC2010-UA

Publizieren von Webs mit SmartFTP

Einführung in PHP. (mit Aufgaben)

a.i.o. control AIO GATEWAY Einrichtung

JSP Usereingabe. Inhalt. 1 Zielsetzung. SEW(3.Jg) Unterlagen zu Java Server-Pages Teil 2

telpho10 Hylafax Server

ZIMT-Dokumentation für Studierende Webmail-Oberfläche (Roundcube)

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Installieren und Verwenden von Document Distributor

Proxyeinstellungen für Agenda-Anwendungen

Tipps und Tricks zu Netop Vision und Vision Pro

Kurzanleitung zur Installation des OLicense-Servers in Verwendung mit SimDiff/SimMerge

Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2

Dokumentenmanagement mit hyscore

Tutorial. In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern.

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Transkript:

Python CGI-Skripte erstellen

CGI (Common Gateway Interface)... ist eine Schnittstelle, um Scripte im Web bereitzustellen. ist eine Schnittstelle zwischen einem HTTP-Server und ausführbaren Programmen. beschreibt wie die Dateneingabe im Web-Browser an den Web- Server gesendet und mit Hilfe eines Scripts verarbeitet wird. Python - Programmierung, 21.10.10 Seite 2

CGI-Skripte laufen auf einem HTTP-Server wie zum Beispiel XAMPP von Apache. werden auf dem HTTP-Server im Verzeichnis /cgi-bin/ oder /cgi/ abgelegt. Für die Ablage können auch Unterverzeichnis im Verzeichnis /cgi-bin/ genutzt werden. werden vom Internet mit Hilfe einer URL gestartet. produzieren häufig eine HTML-Seite als Ausgabe. werden häufig in Perl geschrieben. Als Programmiersprache kann aber auch Python genutzt werden. Python - Programmierung, 21.10.10 Seite 3

werden genutzt, um HTML-Seiten dynamisch zu generieren. Daten aus Web-Formularen zu verarbeiten. einen Zugriff auf Datenbanken zu ermöglichen. Foren, Suchen etc. zu implementieren. Python - Programmierung, 21.10.10 Seite 4

Kommunikation Web-Browser Internet HTTP-Server CGI-Skripte Database Python - Programmierung, 21.10.10 Seite 5

Beispiel für ein HTML-Formular <html> <head> <titel>eingabe einer Adresse</titel> </head> <form action="http://localhost/cgi-bin/python/adresse.py" method="get"> <input type="text" name="txtbenutzer" size="40"></td> <input type="submit" value="submit" /> </form> </html> Python - Programmierung, 21.10.10 Seite 6

Beginn und Ende eines Formulars Die Form beginnt mit «<form>». Folgende Attribute können gesetzt werden: «<form action="">» legt den Speicherort des auszuführenden Script fest. «<form method="">» legt die Art der Übertragung der Daten fest. Mit Hilfe des Tags «</form>» endet die Form. Python - Programmierung, 21.10.10 Seite 7

Möglichkeiten für den Aufruf eines Skripts «<form action="http://localhost/cgi-bin/python/adresse.py"> </form>» Das ausgefüllte Formular wird gesendet. Anschließend wird das angegebene Skript ausgeführt. Das Skript kann die Daten lesen und bearbeiten. «<a href="http://localhost/cgi-bin/python/adresse.py"> </a>» Der Aufruf folgt mit Hilfe eines Hyperlinks Das Skript wird genutzt, um Daten aus einer Datenbank anzuzeigen und dem entsprechend die Webseite anzupassen. Diese Form ermöglicht eine statische Datenausgabe für den Nutzer der Webseite. Python - Programmierung, 21.10.10 Seite 8

URL (uniform ressource locator ) gibt Auskunft über den Speicherort einer Datei auf irgendeinem Rechner im Web. beginnt mit den genutzten Protokoll. http:/ (Hypertext Transfer Protocol) wird zum Surfen im Internet genutzt. file:// zeigt eine Datei auf dem lokalen Rechner an. Dem Protokoll folgt der Servername. /localhost/ bezeichnet den momentan genutzten Web-Server. Anschließend kommt der Pfad einer Datei. Die einzelnen Elemente werden durch den Schrägstrich getrennt. Python - Programmierung, 21.10.10 Seite 9

Formulardaten mit Hilfe von Get übertragen «<form action="http://localhost/cgi-bin/python/adresse.py" method="get">» Übertragung von kleinen, n icht sensiblen Datenmengen.. In der Adresszeile des Browser sind die zu übertragenden Daten sichtbar. «http://localhost/cgi-bin/python/adresse.py? txtvorname=tine&txtnachname=andersen» hängt die Daten als Querystring an die URL. Python - Programmierung, 21.10.10 Seite 10

Beispiel <html> <head> <titel>eingabe einer Adresse</titel> </head> <form action="http://localhost/cgi-bin/python/adresse.py" method="get"> <input type="text" name="txtbenutzer" size="40"></td> <input type="submit" value="submit" /> </form> </html> Python - Programmierung, 21.10.10 Seite 11

Querystring beginnt mit dem Fragezeichen. Dem Fragezeichen folgen Formularelemente, getrennt duchr ein kaufmännisches Und. Ein Formularelement... besteht aus einem Namen und einem Wert. ist ein Schlüssel-Wert-Paar. Der Schlüssel und der Wert eines Formularelements werden durch das Gleichheitszeichen getrennt. Im Wert selber werden Leerzeichen durch das Pluszeichen ersetzt. ASCII-Zeichen von 128 bis 255 sowie Steuerzeichen (+, & etc.) durch einen Hexadezimalwert ersetzt. Python - Programmierung, 21.10.10 Seite 12

Formulardaten mit Hilfe von Post übertragen «<form action="http://localhost/cgi-bin/python/adresse.py" method="post">» wird für die Übertragung von großen Datenmengen genutzt. sollte immer für sensible Daten wie Passwörter etc. genutzt werden. schickt die Daten in einem eigenen Objekt an das CGI-Skript. Python - Programmierung, 21.10.10 Seite 13

Beispiel <html> <head> <titel>eingabe einer Adresse</titel> </head> <form action="http://localhost/cgi-bin/python/adresse.py" method="post"> <input type="text" name="txtbenutzer" size="40"></td> <input type="submit" value="submit" /> </form> </html> Python - Programmierung, 21.10.10 Seite 14

Formularfelder zur Eingabe definieren «<input type="text" name="txtbenutzer" size="40">». beginnen mit dem Tag-Namen «<input>» Mit Hilfe des Attributs type wird die Art des Formularfeldes angegeben. In diesem Beispiel wird ein Textfeld genutzt. Mit Hilfe des Attributs name wird ein eindeutiger Name für das Formularfeld vergeben. Die Bezeichnung identifiziert ein Formularfeld eindeutig. Python - Programmierung, 21.10.10 Seite 15

Schaltflächen «<input type="submit" value="submit" />». beginnen mit dem Tag-Namen «<input>» «<input type="submit">» erstellt eine Schaltfläche. «<input value= >» legt einen Wert für die Schaltfläche fest. Dieser Wert wird dem Skript übergeben. Mit Hilfe des Wertes kann ermittelt werden, welche Schaltfläche gedrückt wurde. Python - Programmierung, 21.10.10 Seite 16

Aufbau eines CGI-Skripts in Python «#!/Python31/python.exe» print("content-type: text/html; charset=iso-8859-15") print() print("<html>") print("<head><title>adressen ausgeben</title></head>") print("<body>hallo</body>") print("</html>") Python - Programmierung, 21.10.10 Seite 17

Interpreter für das Script angeben MS Windows: «#! /Python31/python.exe» Linux: «#! /usr/bin/python» Die Shebang-Zeile... definiert den Speicherort des Interpreters. steht immer in der ersten Zeile eines Python-Programms. beginnt immer mit #!. Der Python-Code wird mit dem angegebenen Interpreter ausgeführt. Falls der Speicherort des Interpreters nicht bekannt ist, fragen Sie ihren Systemadministrator. Python - Programmierung, 21.10.10 Seite 18

Ausgabe von HTML «print("<html>")» druckt HTML-Anweisungen über die Standardausgabe aus. «print()» ist eine vordefinierte Funktion in Python. Die Parameterliste der Funktion wird durch die runden Klammern begrenzt. Der Funktion wird eine HTML-Anweisung als String übergeben. Python - Programmierung, 21.10.10 Seite 19

Aufbau eines HTML-Pakets Mit Hilfe der Anweisung «print("content-type: text/html; charset=iso-8859-15")» im Kopf (Header) des Pakets wird der Datentyp des Paktes beschrieben. MIME (Multipurpose Internet Mail Extensions) definiert den benutzten Zeichensatz. Der Körper (Body) enthält die HTML-Anweisungen zur Erstellung der Webseite. Header und Body werden durch eine Leerzeile «print()» getrennt. Python - Programmierung, 21.10.10 Seite 20

Zugriff auf Formulardaten «#!/Python31/python.exe import cgi formular = cgi.fieldstorage()» vorname = formular.getfirst('txtvorname', "") nachname = formular.getvalue('txtnachname') Python - Programmierung, 21.10.10 Seite 21

Klasse cgi.fieldstorage wird im Modul «cgi» definiert. bietet Methoden zur Verarbeitung von Daten aus einem Web- Formular. arbeitet ähnlich wie ein Dictonary. Als Schlüssel wird der Name des Formularfeldes genutzt. Wert wird der, im Formularfeld eingegebene Wert ausgelesen. Python - Programmierung, 21.10.10 Seite 22

Wert des Formularfeldes als String einlesen «formular.getvalue('txtnachname', ' ')» Parameter der Methode: Der Name des Formularfeldes muss übergeben werden. Optional: Ein Standardwert. Python - Programmierung, 21.10.10 Seite 23

Rückgabewerte der Methode.getvalue() «None». Das Formularfeld ist nicht vorhanden und es wurde kein Standardwert angegeben. «Default». Das Formularfeld ist nicht vorhanden. Der Standardwert wird genutzt. «String». Textfelder werden eingelesen. Der Name des Formularfeldes existiert einmal. «String». Optionsfelder werden eingelesen. Der Name des Formularfeldes existiert mehrmals. Es werden alle Werte als Liste übergeben. Problem: Wird ein String oder eine Liste von Strings übergeben? Python - Programmierung, 21.10.10 Seite 24

Wert des Formularfeldes als String einlesen «formular.getfirst('txtnachname', ' ')» Parameter der Methode: Der Name des Formularfeldes muss übergeben werden. Optional: Ein Standardwert. Python - Programmierung, 21.10.10 Seite 25

Rückgabewerte der Methode.getfirst() «None». Das Formularfeld ist nicht vorhanden und es wurde kein Standardwert angegeben. «Default». Das Formularfeld ist nicht vorhanden. Der Standardwert wird genutzt. «String». Textfelder werden eingelesen. Der Name des Formularfeldes existiert einmal. «String». Optionsfelder werden eingelesen. Der Name des Formularfeldes existiert mehrmals. Es wird nur das erste Element einer Liste von Werten zurückgegeben. Python - Programmierung, 21.10.10 Seite 26

Wert des Formularfeldes als Liste einlesen «formular.getlist('chkprospekt')» Der Name des Formularfeldes wird der Funktion übergeben. Rückgabewerte: «None». Das Formularfeld ist nicht vorhanden. Es wird eine leere liste übergeben. «List». Optionsfelder oder Textfelder werden eingelesen. Der Formularname kann mehrmals auftreten, muss aber nicht. Es wird immer eine Liste zurückgegeben. Python - Programmierung, 21.10.10 Seite 27

Fehlersuche «#!/Python31/python.exe import cgi, cgitb cgitb.enable()» Mit Hilfe der Methode «cgitb.enable()» aus dem Modul «cgitb» werden Laufzeitfehler abgefangen. Python - Programmierung, 21.10.10 Seite 28

String-Manipulation «ZeichenToHTML = { } ord("ä") : "ä", ord("ö") : "ö", ord("ü") : "ü", ord("ß") : "ß"» def getstring(daten): return str(daten).translate(clsbestellformular.zeichentohtml) Python - Programmierung, 21.10.10 Seite 29

Hinweise Die Funktion «str()» wandelt einen beliebigen Datentyp in einen String um. Die Funktion «ord()» gibt den dezimalen ASCII-Code eines Zeichens zurück. String-Methode «.translate()»: Argument: Umwandlungstabelle als Dictonary. Falls der Schlüssel des Dictonary in einem String vorkommt, ersetzt die Methode den Schlüssel durch den dazugehörigen Wert. Rückgabe: Der bearbeitete String. Python - Programmierung, 21.10.10 Seite 30