typestar

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

  1. create_connection marca a host y puerto.
  2. sendall escribe los bytes de la petición.
  3. recv itera hasta que el servidor cierra el stream.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 1 de 4 en Sockets y redes; paso 6 de 41 en Herramientas de dominio.

← Anterior Siguiente →