Hola comunidad. Hoy traigo para ustedes un pequeño tutorial que me ha salvado la piel un par de veces. En muchas ocasiones me ha sucedido que he necesitado montar un servidor HTTP mínimo, algo que me deje al menos navegar por mis archivos por la web y esta solución tiene un estilo especial. Ahora mismo la utilizo para montar ocasionalmente el repositorio en mi LAN y funciona perfectamente.
python
La sencillez de este ejemplo los dejará boquiabiertos. Resulta que está extraido de la propia documentación de Python. No es una solución elegante para mantener un servicio fijo y estable, pero para hacer algo instantáneo y no tener que pasar tiempo configurando un servidor más potente es totalmente bueno.

 

Un poco de código

Vamos al grano. Utilizaremos la clase SimpleHTTPServer para crear un objeto en Python que sea capaz de manejar peticiones HTTP (SimpleHTTPRequestHandler). Después creamos un servidor utlizando SocketServer y le decimos que maneje sus conexiones utilizando el manejador antes mencionado. Iniciamos el servicio y tenemos un servidor HTTP sirviendo desde la propia carpeta en que hallamos ejecutado el script. Bueno, dejemos que el código se explique por si mismo.

import SimpleHTTPServer
import SocketServer

PORT = 8000

Handler = SimpleHTTPServer.SimpleHTTPRequestHandler

httpd = SocketServer.TCPServer(("", PORT), Handler)

print "serving at port", PORT
httpd.serve_forever()

Si queremos modificar el comportamiento de nuestro servidor basta con heredar de la clase SimpleHTTPRequestHandler y modificar los métodos que queramos.

 

Solución instantánea

No obstante a la sencillez del ejemplo anterior, Python nos permite hacerlo incluso más rápido y es que la clase SimpleHTTPServer puede ser instanciada desde la línea de comandos. Exacto, solo una línea en nuestro terminal y tenemos un pequeño servidor HTTP funcionando. Aquí está el ejemplo citado en la documentación:

python -m SimpleHTTPServer 8000

 

Espero les halla resultado productivo e interesante y los invito a consultar bien a menudo la documentación de Python la cual es en mi opinión una de las documentaciones más completas y amigables que he consultado. Happy hacking!!!