Python HTTP Server

Descripcion

Como usar el modulo SimpleHTTPServer para crear un servidor Http de manera rapida con python

Metodo

Python 2

En python 2 lo hacemos de la siguiente manera:

python -m SimpleHTTPServer <PUERTO>

Python 3

En python 3 lo hacemos de la siguiente manera:

python -m http.server <PUERTO>

El puerto es opcional en ambos casos, si no lo indicamos por defecto escuchará en el puerto 8000

Una vez tenemos arrancado el servidor ya podemos conectarnos usando cualquier navegador, si no existe ningun archivo index.html en la carpeta donde hemos ejecutado el comando se listará todo el contenido de la carpeta (se hace una indexación de la misma) permitiendonos acceder a todos los archivos dentro de la misma, esto es util si queremos compartir archivos de manera rápida

Conectarse a un puerto

Podemos usar el siguiente código con Python 3 para hacer pruebas de conexión a un puerto (de la misma manera que usando netcat):

import socket
import sys

HOST = sys.argv[1] 
PORT = int(sys.argv[2])

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.connect((HOST, PORT))
    print("CONECTION OPEN ON PORT: ", PORT)
    s.sendall(input().encode() + b"\n\n")
    data = s.recv(1024)

print("Received: ",data)

Para ejecutar el comando lo haríamos así:

> python <IP> <PUERTO>

Tags

Python | Http Server