Comment héberger un script cgi Python avec 'python-m SimpleHTTPServer 8000' ou 'python-m CGIHTTPServer 8000'?
Lorsque j'exécute python -m SimpleHTTPServer 8000
ou python -m CGIHTTPServer 8000
dans mon shell, j'héberge le contenu de mon répertoire actuel sur internet.
Je voudrais faire ce qui suit cgi_script.py fonctionne correctement en utilisant la commande ci-dessus dans la ligne de commande lorsque je navigue vers 192.xxx.x.xx:8000/cgi_script.py
#!/usr/bin/env python
print "Content-Type: text/html"
print
print """
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
"""
Mais ce script est affiché littéralement et pas seulement le " Hello World!" partie. Btw j'ai changé les autorisations de fichier à 755 pour cgi_script.py ainsi que le dossier dont je l'héberge.
6 réponses
Essayez avec python -m CGIHTTPServer 8000
.
Notez que vous devez déplacer le script à un cgi-bin
ou htbin
répertoire afin d'être exécutable.
Quand j'ai rencontré ce problème, j'ai trouvé que selon le répertoire dans lequel vous vous trouvez lorsque vous exécutez la commande python -m CGIHTTPServer 8000
donne des résultats différents. Lorsque vous tentez d'exécuter la commande dans le répertoire cgi-bin, le navigateur continue de renvoyer le code de script brut. une fois que j'ai cd'ed un niveau plus élevé et exécuté la commande python -m CGIHTTPServer 8000
à nouveau mon script a commencé à s'exécuter.
@Bentley4-sivous n'êtes toujours pas capable de faire, essayez d'importer cgi.
#!C:\Python34\python.exe-u import cgi print ("Content-type:text/html")
HTH
En Python3, la ligne de commande est simplement
python -http.server --cgi 8000
Cela fonctionne pour moi, exécutez la commande python -m CGIHTTPServer 8000
même niveau de menu avec cgi-bin, et déplacez cgi_script.py dans cgi-bin folder.In type de navigateur http://localhost:8000/cgi-bin/cgi_script.py