Start Programmierung Python Python in einfachen Beispielen : Ein einfacher CGI und Webserver
20 | 05 | 2012
Python in einfachen Beispielen : Ein einfacher CGI und Webserver
Geschrieben von: Joerg   
Dienstag, den 26. April 2011 um 16:41 Uhr

Wie in dem Kapitel "Ein einfacher Webserver" beschrieben wird, gibt es ein Modul, dass diesen HTTP-Server erweitert um die CGI-Fähigkeit. Wir können also auch auf XAMPP verzichten, um eine Testumgebung für unsere Web-Programmierung zu erhalten.

  1. Wir legen den Ordner "Du_darfst" an,

    als Hauptverzeichnis des HTTP-Servers mit dem Unterverzeichnis "cgi-bin".
  2. Wir erstellen eine Batchdatei,

    die nur eine Befehlszeile enthält. Ich habe sie hier "cgiServer.bat" genannt.
    • Die Befehlszeile lautet: E:\xampp\python27\python -m CGIHTTPServer. Der Pfad zu deinem Python wird anders aussehen, also korrigieren. Die Batch-Datei wird bei mir  in dem Verzeichnis "Du_darfst" gespeichert.
  3. Wir klicken auf die Batchdatei.

    Es öffnet sich folgendes Fenster. Der CGIHTTP-Server läuft.

CGI_Server2

 

Das Verzeichnis "cgi-bin" ist unser CGI-Verzeichnis. Ich habe ein simples python-cgi-Skript geschrieben mit dem Namen Hallo.py. Wir sehen im Befehlsfenster, dass diese Datei gefunden wurde und ausgeführt wurde.

 

Der Inhalt von Hallo.py:

 

Hallo.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!E:\xampp\Python27\python.exe
#-*- coding: utf-8 -*-
 
 
print "Content-type:text/html; charset=UTF-8"
print
 
 
print '''
<html>
<head><title>Ein einfaches Python-CGI-Programm</title></head>
<body>
<b> Hallo Welt, ich bin ein Python-CGI-Programm </b>
</body>
 
</html>
 
'''

 

Wir führen das Python-Skript aus (s.unten): (Hier unser eigener Rechner, auf dem der Server läuft.)

 

 

CGI_Server1

 

oder geben die IP-Adresse des Rechners an, auf dem der Server läuft, falls wir von einem Handy oder anderen Rechner auf den Rechner zugreifen wollen. Die Portangabe nicht vergessen (s.a. Pythone - Ein einfacher Webserver).

 

CGI_Server3

 

s.a. http://docs.python.org/library/cgihttpserver.html

Tags: