python hosting cgi simplehttpserver

¿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