Sencillo servidor web con Python

por | febrero 27, 2016

Imaginemos que necesitamos montar un servidor web de manera rápida para servir determinados ficheros en un momento dado. Bien, pues esto se puede hacer con una navaja suiza llamada Python.

Creamos un directorio que hará de Document Root de nuestro sitio web:

mkdir my_python_website
cd my_python_website

Podemos crear varios ficheros a modo de prueba en esa carpeta:

touch testfile1 testfile2 testfile3

Dentro de la misma, indicaremos a Python que inicie un servidor web. En su forma más básica podemos hacerlo de la siguiente manera:

# Python 2.7.x
python -m SimpleHTTPServer [puerto]

# Python 3.x
python -m http.server [puerto]

Introducir el puerto es opcional ya que por defecto escucha en el 8000. Voy a iniciar el servidor web en el puerto 9000:

python -m SimpleHTTPServer 9000

Si todo ha ido bien deberíamos ver lo siguiente:

En mi navegador me dirijo a 127.0.0.1:9000, llegando al index del servidor donde aparecen los ficheros anteriormente creados:

Estos ficheros pueden descargarse, de hecho si lo hacemos deberíamos ver las peticiones GET correspondientes en la terminal donde iniciamos el proceso de Python:

Si creáramos en el directorio un index.html, Python presentaría en el navegador el contenido HTML correspondiente en vez del índice anterior. Como vemos, se trata de una solución fácil y rápida para momentos puntuales en los que tengamos que servir determinados ficheros.