Maison  >  Article  >  développement back-end  >  Utilisation du module CGI pour créer un exemple simple de didacticiel de page Web

Utilisation du module CGI pour créer un exemple simple de didacticiel de page Web

零下一度
零下一度original
2017-05-19 13:06:492698parcourir

J'ai appris la programmation Web Python ces derniers jours. Le contenu principal est de construire un serveur Web simple et d'utiliser des modules CGI pour créer des pages Web simples (Désolé pour l'utilisation non professionnelle des mots).

Il existe trois modules utilisés par python pour créer un serveur http :
1) BaseHTTPServer : fournit des services Web et des classes de processeur de base, à savoir HTTPServer et BaseHTTPRequestHandler;
2) SimpleHTTPServer : contient la classe SimpleHTTPRequestHandler qui effectue les requêtes GET et HEAD
3) CGIHTTPServer ; : Contient la classe CGIHTTPRequestHandler qui gère les requêtes POST et les exécute.

Le serveur Web le plus simple de Python est présenté ci-dessous :


De cette façon, vous pouvez accéder au contenu du serveur


Par exemple, accédez directement à la page html suivante, le résultat est le suivant suit :


hello.html est stocké dans le répertoire racine du serveur, le code est le suivant :

<meta http-equiv=&#39;Content-Type&#39; content=&#39;text/html; charset=UTF-8&#39;>
<html><head><title>数据库列表</title></head>
<body>
<form action="/cgi-bin/hello_get.py" method="get">
First Name: <input type="text" name="first_name">  <br />

Last Name: <input type="text" name="last_name" />
<input type="submit" value="Submit" />
</form>
</body></html>

dans hello Il y a un hello_get.py lié dans le fichier .html, qui est stocké dans le dossier cgi-bin du répertoire racine du serveur. Le code est le suivant :

#!/usr/bin/python

# Import modules for CGI handling
import cgi, cgitb

# Create instance of FieldStorage
form = cgi.FieldStorage()

# Get data from fields
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>"

Entrez les informations sur la page dans l'image précédente et cliquez sur Soumettre. Les résultats sont les suivants :


Cela vaut la peine de le noter. Le problème est le suivant : je l'ai fait pendant longtemps au début, et lors de l'appel du fichier py, soit il était vide, soit il faisait une erreur. Après avoir vérifié de nombreuses ressources réseau, j'ai découvert que le problème venait des autorisations du fichier py. Il vous suffit d'exécuter chmod 755 XXX.py. De plus

#!/usr/bin/python之前最好不要有其他信息,反正我发现上方保护如下信息的时候是显示不出来的
&#39;&#39;&#39;
Created on 2015-1-12


@author: root
&#39;&#39;&#39;

Je ne suis qu'un débutant, je ne peux donc que partager mon processus d'apprentissage pour éviter que tout le monde rencontre le même problème que moi et passe beaucoup de temps.

[Recommandations associées]

1 Explication détaillée de l'écriture de données cgi dans un texte ou un exemple de code de base de données

2. Partagez un exemple de didacticiel sur l'exécution de scripts Python à l'aide de CGI sur IIS

3 Qu'est-ce que CGI ? Introduction détaillée à la programmation Python CGI

4. Partage d'un exemple de didacticiel de programmation Python CGI

5.Explication détaillée de XML et exemple de code de. applications CGI modernes

6. Le processus FastCGI s'est arrêté de manière inattendue, provoquant une erreur 500

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn