¿Cómo alojar el script cgi de python con `python-m SimpleHTTPServer 8000` o` python-m CGIHTTPServer 8000`?
hosting (6)
@ Bentley4: si aún no puede hacerlo, intente importar cgi.
#! C: / Python34 / python.exe -u import cgi print ("Tipo de contenido: texto / html")
HTH
Cuando ejecuto python -m SimpleHTTPServer 8000
o python -m CGIHTTPServer 8000
en mi shell, estoy alojando el contenido de mi directorio actual en Internet.
Me gustaría hacer que el siguiente cgi_script.py funcione correctamente utilizando el comando anterior en la línea de comandos cuando 192.xxx.x.xx:8000/cgi_script.py
a 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>
"""
Pero este script se muestra literalmente y no solo el "¡Hola mundo!" parte. Por cierto, cambié los permisos de los archivos a 755 para cgi_script.py, así como a la carpeta en la que los alojo.
Cuando me encontré con este problema, descubrí que, dependiendo del directorio en el que se encuentre cuando ejecute el comando python -m CGIHTTPServer 8000
obtienen resultados diferentes. Al intentar ejecutar el comando mientras estaba en el directorio cgi-bin, el navegador continuó devolviendo el código de script en bruto. una vez que obtuve un nivel superior y ejecuté nuevamente el comando python -m CGIHTTPServer 8000
mi script comenzó a ejecutarse.
Esto funciona para mí, ejecute el comando python -m CGIHTTPServer 8000
mismo nivel de menú con cgi-bin, y mueva cgi_script.py a la carpeta cgi-bin. En el tipo de navegador http://localhost:8000/cgi-bin/cgi_script.py
Pruebe con python -m CGIHTTPServer 8000
.
Tenga en cuenta que tiene que mover el script a un directorio cgi-bin
o htbin
para poder ejecutarse.
SO no me permite hacer comentarios, así que estoy agregando esto como una respuesta por separado, además de la de rodrigo.
Puede usar otro parámetro cgi_directories
que por defecto es [''/cgi-bin'', ''/htbin'']
. Más información here
en Python3 la línea de comando es simplemente
python -http.server --cgi 8000