Cómo usar Python 'SimpleHTTPServer' para crear un servidor web o servir archivos al instante


SimpleHTTPServer es un módulo de Python que le permite crear instantáneamente un servidor web o servir sus archivos en un instante. La principal ventaja de SimpleHTTPServer de python es que no necesita instalar nada ya que tiene instalado el intérprete de Python. No tiene que preocuparse por el intérprete de Python porque casi todas las distribuciones de Linux, el intérprete de Python son útiles por defecto.

También puede utilizar SimpleHTTPServer como método para compartir archivos. Solo tienes que habilitar el módulo dentro de la ubicación donde se encuentran tus archivos compartibles. Le mostraré varias demostraciones en este artículo usando varias opciones.

Paso 1: Verifique la instalación de Python

1. Verifique si Python está instalado en su servidor o no, emitiendo el siguiente comando.

# python –V 

OR

# python  --version

Le mostrará la versión del intérprete de Python que tiene y le dará un mensaje de error si no está instalado.

2. Tienes suerte si está ahí de forma predeterminada. En realidad, menos trabajo. Si no se instaló por casualidad, instálelo siguiendo los siguientes comandos.

Si tiene una distribución de SUSE, escriba yast en la terminal -> Vaya a Administración de software -> Escriba 'python' sin comillas -> seleccione intérprete de Python -> presione la tecla espaciadora y selecciónelo -> y luego instálelo.

Simple como eso. Para eso, necesita tener SUSE ISO montado y configurado como un repositorio por YaST o puede simplemente instalar Python desde la web.

Si está utilizando diferentes sistemas operativos como RHEL, CentOS, Debian, Ubuntu u otros sistemas operativos Linux, puede instalar Python usando yum o apt.

En mi caso uso SLES 11 SP3 OS y el intérprete de Python viene instalado por defecto en él. En la mayoría de los casos, no tendrá que preocuparse por instalar el intérprete de Python en su servidor.

Paso 2: Cree un directorio de prueba y habilite SimpleHTTPServer

3. Cree un directorio de prueba en el que no se meta con los archivos del sistema. En mi caso, tengo una partición llamada /x01 y he creado un directorio llamado tecmint allí y también he agregado algunos archivos de prueba para probar.

4. Sus requisitos previos están listos ahora. Todo lo que tienes que hacer es probar el módulo SimpleHTTPServer de python emitiendo el siguiente comando dentro de tu directorio de prueba (en mi caso,/x01 //).

# python –m SimpleHTTPServer

5. Después de habilitar SimpleHTTPServer con éxito, comenzará a servir archivos a través del puerto número 8000. Solo tiene que abrir un navegador web e ingresar ip_address: port_number (en mi caso es 192.168.5.67:8000).

6. Ahora haga clic en el enlace 'tecmint' para buscar archivos y directorios del directorio tecmint; consulte la pantalla siguiente como referencia.

7. SimpleHTTPServer sirve sus archivos correctamente. Puede ver lo que ha sucedido en la terminal, después de acceder a su servidor a través del navegador web, mirando dónde ejecutó su comando.

Paso 3: Cambio del puerto SimpleHTTPServer

8. Por defecto, SimpleHTTPServer de Python sirve archivos y directorios a través del puerto 8000, pero puede definir un número de puerto diferente (aquí estoy usando el puerto 9999) como desee con el comando de Python como se muestra a continuación.

# python –m SimpleHTTPServer 9999

Paso 4: entregar archivos desde diferentes ubicaciones

9. Ahora que lo probó, es posible que desee entregar sus archivos en una ubicación específica sin tener que ir a la ruta.

Por ejemplo, si se encuentra en su directorio personal y desea almacenar sus archivos en el directorio/x01/tecmint/sin cd en/x01/tecmint, veamos cómo lo haremos.

# pushd /x01/tecmint/; python –m SimpleHTTPServer 9999; popd;

Paso 5: sirva archivos HTML

10. Si hay un archivo index.html ubicado en su ubicación de servicio, el intérprete de Python lo detectará automáticamente y entregará el archivo html en lugar de entregar sus archivos.

Echemos un vistazo. En mi caso incluyo un script html simple en el archivo llamado index.html y lo ubico en/x01/tecmint /.

<html>
<header><title>TECMINT</title></header>
<body text="blue"><H1>
Hi all. SimpleHTTPServer works fine.
</H1>
<p><a href="https://www.tecmint.com">Visit TECMINT</a></p>
</body>
</html>

Ahora guárdelo y ejecute SimpleHTTPServer en/x01/tecmint y vaya a la ubicación desde un navegador web.

# pushd /x01/tecmint/; python –m SimpleHTTPServer 9999; popd;

Muy simple y manejable. Puede servir sus archivos o su propio código html en un instante. Lo mejor es que no tendrá que preocuparse por instalar nada en absoluto. En un escenario como si quisieras compartir un archivo con alguien, no tienes que copiar el archivo a una ubicación compartida o hacer que tus directorios se puedan compartir.

Simplemente ejecute SimpleHTTPServer en él y listo. Hay algunas cosas que debe tener en cuenta al usar este módulo de Python. Cuando sirve archivos, se ejecuta en la terminal e imprime lo que sucede allí. Cuando accede a él desde el navegador o descarga un archivo de él, muestra la dirección IP a la que se accedió y el archivo descargado, etc. Muy útil, ¿no?

Si desea dejar de publicar, deberá detener el módulo en ejecución presionando ctrl + c. Entonces, ahora sabe cómo usar el módulo SimpleHTTPServer de Python como una solución rápida para entregar sus archivos. Comentar a continuación las sugerencias y los nuevos hallazgos sería un gran favor para mejorar los artículos futuros y aprender cosas nuevas.

Enlaces de referencia

SimpleHTTPServer Docs