SimpleHTTPServer explicado: Cómo enviar archivos usando Python

Como desarrollador web, llegará un momento en el que necesitará crear su propio servidor web local.

Tal vez sea porque estarás en un vuelo y querrás trabajar en tu proyecto, lejos del servicio de Internet. O tal vez solo desee una forma rápida de acceder a archivos desde otra computadora en su red doméstica.

Siempre que y como sea que surja la necesidad, configurar un servidor HTTP local es una habilidad útil.

¿Qué es un servidor HTTP?

En pocas palabras, un servidor HTTP o un servidor web es un proceso que se ejecuta en una máquina que escucha las solicitudes entrantes y sirve páginas web.

Por ejemplo, cuando escribe en //www.freecodecamp.org/news/su navegador, hay un servidor en algún lugar escuchando esa solicitud. En respuesta, envía datos para que su navegador pueda mostrar la página de noticias para desarrolladores de freeCodeCamp.

Por supuesto, hay muchas más cosas detrás de escena, pero para los propósitos de este tutorial, eso es todo lo que realmente necesita saber.

Cómo configurar un servidor HTTP local

  1. Instalar Python
  2. Abra su símbolo del sistema o terminal y ejecute python -V
  3. Vaya al directorio de su proyecto con cdsistemas * nix o MacOS o CDpara Windows
  4. Ejecute los siguientes comandos para iniciar un servidor HTTP local:
# If python -V returned 2.X.X python -m SimpleHTTPServer # If python -V returned 3.X.X python3 -m http.server # Note that on Windows you may need to run python -m http.server instead of python3 -m http.server

Notará que ambos comandos se ven muy diferentes: uno llama SimpleHTTPServery el otro http.server. Esto se debe a que el SimpleHTTPServermódulo se incorporó a Python http.serveren Python 3. Ambos funcionan de la misma manera.

Ahora, cuando vaya a //localhost:8000/, debería ver una lista de todos los archivos en su directorio. Luego, puede simplemente hacer clic en el archivo HTML que desea ver.

Solo tenga en cuenta que SimpleHTTPServery http.serverson solo para probar cosas localmente. Solo realizan controles de seguridad muy básicos y no deben usarse en producción.

Cómo enviar archivos localmente

Para configurar una especie de sistema NAS (almacenamiento conectado a la red) rápido y sucio:

  1. Asegúrese de que ambas computadoras estén conectadas a través de la misma red a través de LAN o WiFi
  2. Abra su símbolo del sistema o terminal y ejecute python -Vpara asegurarse de que Python esté instalado
  3. Vaya al directorio cuyo archivo desea compartir usando el comando cd (cambiar directorio).
  4. Vaya al directorio con el archivo que desea compartir usando cden sistemas * nix o MacOS o CDpara Windows
  5. Inicie su servidor HTTP con python -m SimpleHTTPServeropython3 -m http.server
  6. Abra una nueva terminal y escriba ifconfig* nix o MacOS o ipconfigen Windows para encontrar su dirección IP

Ahora en la segunda computadora o dispositivo:

  1. Abra el navegador y escriba la dirección IP de la primera máquina, junto con el puerto 8000: //[ip address]:8000

Se abrirá una página que muestra todos los archivos del directorio que se comparten desde la primera computadora. Si la página tarda demasiado en cargarse, es posible que deba ajustar la configuración del firewall en la primera computadora.