Benutzer-Werkzeuge

Webseiten-Werkzeuge


python:pythoncgi:cgi

Dies ist eine alte Version des Dokuments!


CGI in Python

Was ist CGI?

Das Common Gateway Interface (CGI) ist eine Schnittstelle von Webservern, über die Datenaustausch mit externen Anwendungen möglich ist. Die Webseiten müssen nicht vollständig auf den Server liegen, sie werden von Programmen dynamisch erzeugt. Die Programme liegen dazu in einem Extra-Verzeichnis des Webservers (z.B. cgi-bin). Früher wurde für CGI-Scripte meist Perl oder C verwendet. Python wird auch in CGI-Scripten, meist innerhalb von Webframeworks, wie Django oder Flask verwendet.

CGI und Python

Auch mit Python lassen sich CGI-Scripte erzeugen. Dafür muss eine ausführbare Python-Datei erzeugt werden, die HTML-Quelltext erzeugt. Unter Windows 10 und 11 lässt sich eine Python-Datei einfach durch Doppelklick ausführen, unter anderen Betriebssystemen ist dazu eine sogenannte Shebang erforderlich, die das nötige Programm aufruft. Außerdem muss die Datei noch ausführbar gemacht werden.

Das folgende CGI-Script gibt mit der print-Anweisung eine einfache Webseite. als mehrzeilige Zeichenkette aus:

script01.py
#!/usr/bin/env python3
print("""
<!DOCTYPE html>
 
<html lang="de">
  <head>
    <meta charset="utf-8">
    <title>Python-CGI-Programmierung</title>
  </head>
  <body>
    <h1>Hallo Welt, Python CGI!</h1>
  </body>
</html>
""")

Das Script muss nun in das cgi-bin Verzeichnis eines Webservers kopiert werden und kann über den Webbrowser aufgerufen werden. Wir wollen dazu den http.server von Python verwenden.

CGI-Script mit dem http.server von Python aufrufen

Zunächst erzeugen wir ein Verzeichnis cgi-bin und kopieren das Script hinein. In unserem Fall wurde das Verzeichnis cgi-bin direkt auf dem Laufwerk N: erzeugt.

python/pythoncgi/cgi.1686901853.txt.gz · Zuletzt geändert: 2023/06/16 09:50 von lutz