Inhaltsverzeichnis
Hallo ZARA ALI
Heim Backend-Entwicklung Python-Tutorial Teilen Sie ein Beispiel-Tutorial zur PythonCGI-Programmierung

Teilen Sie ein Beispiel-Tutorial zur PythonCGI-Programmierung

May 19, 2017 pm 01:08 PM

Ich habe in der letzten Woche weiter online Python gelernt und bin mit der CGI-Programmierung in Python in Kontakt gekommen. Die offizielle Definition von CGI lautet wie folgt:

CGI (Common Gateway Interface), ein gemeinsames Gateway Schnittstelle ist ein Programm, das auf dem Server ausgeführt wird, z. B.: HTTP-Server, der eine Schnittstelle zur Client-HTML-Seite bereitstellt.

Mich interessierte mehr, wie leistungsstarke Anwendungen mit Python CGI geschrieben werden können, also begann ich, den Programmierteil von Python direkt zu erlernen. Zuerst musste ich den Webserver so konfigurieren, dass er CGI unterstützt hat Die integrierte Entwicklungsumgebung wamp ist installiert, sodass Apache nicht installiert werden muss. Es gibt viele Blog-Beiträge im Internet über die Konfiguration unter Apache, und sie befinden sich in der Linux-Umgebung, aber ich denke Der Inhalt der Konfigurationsdatei sollte nicht sein. Es wird große Änderungen geben, also habe ich meine Bastelreise begonnen. Es stellt sich heraus, dass die Verwendung von Windows für die Entwicklung wirklich eine Falle ist.

Laut der Online-Lernwebsite Python CGI müssen Sie zuerst das CGI-Verzeichnis einrichten, httpd.conf in der Apache-Konfigurationsdatei ändern

ScriptAlias /cgi-bin/ /var/www/cgi-bin/
Nach dem Login kopieren

und dann Ändern Sie die Datei httpd.conf wie folgt:

<Directory "/var/www/cgi-bin">
   AllowOverride None
   Options +ExecCGI
   Order allow,deny
   Allow from all</Directory>
Nach dem Login kopieren

Fügen Sie dann das Suffix .py in AddHandler hinzu , damit wir auf die Python-Skriptdatei mit der Endung .py zugreifen können:

Nachdem Sie dies alles erledigt haben, starten Sie den Server (Apache/Wamp) neu und schreiben Sie das erste CGI-Programm , der Code lautet wie folgt:

test1.py

#!D:\Python27\python # -*- coding: UTF-8 -*-print "Content-type:text/html\r\n\r\n"print &#39;<html>&#39;print &#39;<head>&#39;print &#39;<title>Hello Word - First CGI Program</title>&#39;print &#39;</head>&#39;print &#39;<body>&#39;print &#39;<h2>Hello Word! This is my first CGI program</h2>&#39;print &#39;</body>&#39;print &#39;</html>&#39;
Nach dem Login kopieren

Der Inhalt der ersten Zeile gibt an den Speicherort des Skriptinterpreters, der anhand von ermittelt werden kann: Ändern Sie den Pfad Ihrer eigenen Installation

und geben Sie in die Adressleiste des Browsers ein: http://localhost/cgi-bin/ test1.py

Dann zeigt der Browserzugriff folgende Ergebnisse an:

Hello Word! This is my first CGI program
Nach dem Login kopieren

Kein Problem

Dann schreiben Sie das zweite Programm:hello_get.py

#!D:\Python27\python# -*- coding: UTF-8 -*-# CGI处理模块import cgi, cgitb 
# 创建 FieldStorage 的实例化form = cgi.FieldStorage() # 获取数据first_name = form.getvalue(&#39;first_name&#39;)last_name  = form.getvalue(&#39;last_name&#39;)print "Content-type:text/html\r\n\r\n"print "<html>"print "<head>"print "<title>Hello - Second CGI Program</title>"print "</head>"print "<body>"print "<h2>Hello %s %s</h2>" % (first_name, last_name)print "</body>"print "</html>"
Nach dem Login kopieren

Geben Sie localhost/cgi-bin/hello_get.py ein? first_name=ZARA&last_name=ALI

im Browser Es wurde jedoch nicht ausgegeben

Hallo ZARA ALI

wie auf der Website angegeben, aber der folgende Fehler ist aufgetreten


Die Konfigurationsumgebung war also dieselbe und die Codes waren genau die gleichen Was war das Problem? Dann habe ich die Apache-CGI-Konfigurationsmethode verwendet, aber alle Konfigurationsmethoden waren die unter Linux, also hatte ich keine andere Wahl, als die CGI-Umgebung neu zu installieren Führen Sie jeden der oben genannten Schritte erneut aus und fügen Sie dann den Code auf der Website hinzu. Kopieren Sie ihn in den Editor und geben Sie ihn erneut in den Browser ein:

http://localhost/cgi-bin/hello_get.py?first_name=ZARA&last_name=ALI
Nach dem Login kopieren

Das Ergebnis ist immer noch die obige Zeichenfolge mit Fehlermeldungen, daher habe ich mir die Eingabeaufforderung genau angesehen. Sie bedeutet ungefähr:

Interner Serverfehler

Der Server ist auf einen internen Fehler gestoßen oder konnte meine Anfrage aufgrund einer Fehlkonfiguration nicht ausführen

Bitte kontaktieren Sie den Serveradministrator per E-Mail, um ihn über diesen Fehler und Ihre Wünsche zu informieren was tun sollte, bevor dieser Fehler auftritt? Ich bin fest davon überzeugt, dass es so ist. Da ich den Server falsch konfiguriert hatte, dachte ich plötzlich, dass das erste Programm test1 korrekt ausgeführt werden konnte, auch wenn ich keine Konfigurationsdateien geändert hatte. Könnte es sein, dass dieser Fehler nichts damit zu tun hatte? Ich versuche also, die Anweisung zur Deklaration des Interpreterpfads in der ersten Zeile von test1 zu entfernen und sie erneut auszuführen. Derselbe Fehler erscheint im Browser

Also ich bin sehr erleichtert, denn das bestätigt meine Vermutung, es hat nichts mit der Konfiguration des Servers zu tun, weil meine Skriptdatei einen Fehler aufweist, sodass der Server nicht auf die Anfrage antworten kann. Wenn dies der Fall ist, ist der Fehler auch bei hello_get.py derselbe. Überprüfen Sie einfach, ob Fehler vorliegen Code.

Hier möchte ich über eine meiner schlechten Angewohnheiten nachdenken: Wenn ich versuche, eine Routine auf der Website auszuführen, drücke ich immer Strg C und dann Strg V Kopieren Sie es und fügen Sie es in Ihren eigenen Editor ein, aber komplexe Programme mit vielen Codeblöcken haben die Folgen dieser Angewohnheit: falsches Einrückungsformat und dann Fehler bei der Ausführung. Dieses Problem ist in Python besonders offensichtlich Sehr strenge Anforderungen an die Einrückung, daher dürfen Sie Python-Programme nicht kopieren und in Ihre eigenen Programme einfügen. Sie müssen Code für Code eingeben, um sicherzustellen, dass die Einrückung unter Ihrer Kontrolle steht.

Wenn ich das sage, haben die Leute den Fehler bereits in meiner

hello_get.py-Datei gesehen – ich habe ihn einfach nicht selbst eingegeben , ich habe schon versucht, online zu kopieren. Der C-Sprachcode wird in VC++6.0 eingefügt. Oberflächlich betrachtet scheint die Syntax völlig korrekt zu sein, aber es gibt immer einen Fehler und die Eingabeaufforderung ist unverständlich. Wenn ich also auf diese Situation stoße, denke ich, dass dies der Fall sein könnte der Grund. Dies weist auch alle darauf hin, dass der Code Buchstabe für Buchstabe selbst in Ihr Programm eingegeben werden muss, da es sonst zu Fehlern kommt, die schwer zu erkennen sind.

Lassen Sie uns abschließend darüber sprechen, wie Sie Wamp (Apache) unter Windows richtig konfigurieren, um CGI-Skripte korrekt auszuführen :

httpd.conf öffnen

Ändern Sie Zeile 371

ScriptAlias /cgi-bin/ "D:/wamp/bin/apache/apache2.4.9/cgi-bin/"前面的#号去掉,就是解除注释,将后面引号里的D:/wamp/bin/apache/apache2.4.9/cgi-bin/改成自己的cgi-bin所在的路径
Nach dem Login kopieren

将387行引号里的内容也改成自己的cgi-bin所在的路径

保存之后重启服务器即可

【相关推荐】

1. 详解cgi向文本或者数据库写入数据实例代码

2. 分享在IIS上用CGI方式运行Python脚本的实例教程

3. 使用CGI模块建立简单web页面教程实例

4. 什么是CGI?详细介绍Python CGI编程

5. 详解XML与现代CGI应用程序的示例代码

6. FastCGI 进程意外退出造成500错误

Das obige ist der detaillierte Inhalt vonTeilen Sie ein Beispiel-Tutorial zur PythonCGI-Programmierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

SVM-Beispiele in Python SVM-Beispiele in Python Jun 11, 2023 pm 08:42 PM

Support Vector Machine (SVM) in Python ist ein leistungsstarker überwachter Lernalgorithmus, der zur Lösung von Klassifizierungs- und Regressionsproblemen verwendet werden kann. SVM eignet sich gut für den Umgang mit hochdimensionalen Daten und nichtlinearen Problemen und wird häufig in den Bereichen Data Mining, Bildklassifizierung, Textklassifizierung, Bioinformatik und anderen Bereichen eingesetzt. In diesem Artikel stellen wir ein Beispiel für die Verwendung von SVM zur Klassifizierung in Python vor. Wir werden das SVM-Modell aus der scikit-learn-Bibliothek verwenden

VUE3-Erste-Schritte-Beispiel: Erstellen eines einfachen Videoplayers VUE3-Erste-Schritte-Beispiel: Erstellen eines einfachen Videoplayers Jun 15, 2023 pm 09:42 PM

Da die neue Generation von Front-End-Frameworks weiter auf dem Vormarsch ist, erfreut sich VUE3 als schnelles, flexibles und benutzerfreundliches Front-End-Framework großer Beliebtheit. Als Nächstes lernen wir die Grundlagen von VUE3 kennen und erstellen einen einfachen Videoplayer. 1. VUE3 installieren Zuerst müssen wir VUE3 lokal installieren. Öffnen Sie das Befehlszeilentool und führen Sie den folgenden Befehl aus: npminstallvue@next Erstellen Sie dann eine neue HTML-Datei und führen Sie VUE3 ein: &lt;!doctypehtml&gt;

Beispiel für einen VAE-Algorithmus in Python Beispiel für einen VAE-Algorithmus in Python Jun 11, 2023 pm 07:58 PM

VAE ist ein generatives Modell. Der vollständige Name lautet VariationalAutoencoder, was ins Chinesische als Variational Autoencoder übersetzt wird. Es handelt sich um einen unbeaufsichtigten Lernalgorithmus, der zur Generierung neuer Daten wie Bilder, Audio, Text usw. verwendet werden kann. Im Vergleich zu herkömmlichen Autoencodern sind VAEs flexibler und leistungsfähiger und können komplexere und realistischere Daten generieren. Python ist eine der am weitesten verbreiteten Programmiersprachen und eines der wichtigsten Werkzeuge für Deep Learning. In Python gibt es viele hervorragende und tiefe maschinelle Lernmethoden

Beispiele für die Verwendung von Verifizierungscodes im Gin-Framework Beispiele für die Verwendung von Verifizierungscodes im Gin-Framework Jun 23, 2023 am 08:10 AM

Mit der Popularität des Internets sind Verifizierungscodes zu einem notwendigen Prozess für die Anmeldung, Registrierung, das Abrufen von Passwörtern und andere Vorgänge geworden. Im Gin-Framework ist die Implementierung der Verifizierungscode-Funktion extrem einfach geworden. In diesem Artikel wird erläutert, wie eine Bibliothek eines Drittanbieters zum Implementieren der Verifizierungscodefunktion im Gin-Framework verwendet wird, und es wird Beispielcode als Referenz für die Leser bereitgestellt. 1. Abhängige Bibliotheken installieren Bevor wir den Bestätigungscode verwenden können, müssen wir die Bibliothek goCaptcha eines Drittanbieters installieren. Um goCaptcha zu installieren, können Sie den goget-Befehl verwenden: $goget-ugithub

Die Beziehung zwischen der Anzahl der Oracle-Instanzen und der Datenbankleistung Die Beziehung zwischen der Anzahl der Oracle-Instanzen und der Datenbankleistung Mar 08, 2024 am 09:27 AM

Die Beziehung zwischen der Anzahl der Oracle-Instanzen und der Datenbankleistung Oracle-Datenbank ist eines der bekanntesten relationalen Datenbankverwaltungssysteme in der Branche und wird häufig für die Datenspeicherung und -verwaltung auf Unternehmensebene verwendet. In Oracle-Datenbanken ist die Instanz ein sehr wichtiges Konzept. Instanz bezieht sich auf die laufende Umgebung der Oracle-Datenbank im Speicher. Jede Instanz verfügt über eine unabhängige Speicherstruktur und einen Hintergrundprozess, der zur Verarbeitung von Benutzeranforderungen und zur Verwaltung von Datenbankvorgängen verwendet wird. Die Anzahl der Instanzen hat einen wichtigen Einfluss auf die Leistung und Stabilität der Oracle-Datenbank.

Erfahren Sie Best-Practice-Beispiele für die Zeigerkonvertierung in Golang Erfahren Sie Best-Practice-Beispiele für die Zeigerkonvertierung in Golang Feb 24, 2024 pm 03:51 PM

Golang ist eine leistungsstarke und effiziente Programmiersprache, mit der sich verschiedene Anwendungen und Dienste entwickeln lassen. In Golang sind Zeiger ein sehr wichtiges Konzept, das uns helfen kann, Daten flexibler und effizienter zu verwalten. Die Zeigerkonvertierung bezieht sich auf den Prozess der Zeigeroperation zwischen verschiedenen Typen. In diesem Artikel werden anhand konkreter Beispiele die Best Practices der Zeigerkonvertierung in Golang erläutert. 1. Grundkonzepte In Golang hat jede Variable eine Adresse, und die Adresse ist der Speicherort der Variablen im Speicher.

Beispiel für die Entwicklung eines einfachen PHP-Webcrawlers Beispiel für die Entwicklung eines einfachen PHP-Webcrawlers Jun 13, 2023 pm 06:54 PM

Mit der rasanten Entwicklung des Internets sind Daten zu einer der wichtigsten Ressourcen im heutigen Informationszeitalter geworden. Als Technologie zur automatischen Erfassung und Verarbeitung von Netzwerkdaten erregen Webcrawler immer mehr Aufmerksamkeit und Anwendung. In diesem Artikel wird erläutert, wie Sie mit PHP einen einfachen Webcrawler entwickeln und die Funktion zum automatischen Abrufen von Netzwerkdaten realisieren. 1. Überblick über Web Crawler Web Crawler ist eine Technologie, die automatisch Netzwerkressourcen abruft und verarbeitet. Ihr Hauptarbeitsprozess besteht darin, das Browserverhalten zu simulieren, automatisch auf bestimmte URL-Adressen zuzugreifen und alle Informationen zu extrahieren.

Beispiel für einen GAN-Algorithmus in Python Beispiel für einen GAN-Algorithmus in Python Jun 10, 2023 am 09:53 AM

Generative Adversarial Networks (GAN) ist ein Deep-Learning-Algorithmus, der zwei neuronale Netze nutzt, um miteinander zu konkurrieren und neue Daten zu generieren. GAN wird häufig für Generierungsaufgaben in den Bereichen Bild, Audio, Text und anderen Bereichen verwendet. In diesem Artikel werden wir Python verwenden, um ein Beispiel für einen GAN-Algorithmus zum Generieren von Bildern handgeschriebener Ziffern zu schreiben. Vorbereitung des Datensatzes Wir werden den MNIST-Datensatz als unseren Trainingsdatensatz verwenden. Der MNIST-Datensatz enthält

See all articles