Un cliente TCP en Python
Abrir un socket y hablarle HTTP crudo a un servidor.
import socket
with socket.create_connection(("example.com", 80), timeout=5) as sock:
solicitud = (
"GET / HTTP/1.1\r\n"
"Host: example.com\r\n"
"Connection: close\r\n\r\n"
)
sock.sendall(solicitud.encode())
trozos = []
while trozo := sock.recv(4096):
trozos.append(trozo)
respuesta = b"".join(trozos)
linea_estado = respuesta.split(b"\r\n", 1)[0]
Cómo funciona
create_connectionmarca a host y puerto.sendallescribe los bytes de la petición.recvitera hasta que el servidor cierra el stream.
Palabras clave y builtins usados aquí
aswhilewith
El intento, en números
- Líneas
- 15
- Caracteres a escribir
- 348
- Tokens
- 100
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 57 segundos.
Paso 1 de 4 en Sockets y redes; paso 6 de 41 en Herramientas de dominio.