Cómo usar un proxy: configuración en navegador, curl y Python

Has encontrado un proxy en la lista, ¿y ahora qué? Esta guía muestra cómo conectar un proxy a las herramientas más usadas: navegadores, la configuración del sistema, curl y Python. Todos los ejemplos usan IP:PUERTO como marcador; copia los valores reales de la lista de proxies gratis.

Antes de empezar

  • Elige un proxy comprobado hace unos segundos y con baja latencia.
  • Fíjate en el protocolo: un proxy HTTP y uno SOCKS5 se configuran de forma distinta.
  • Ten dos o tres de reserva: los gratuitos pueden caerse en cualquier momento.

Firefox

Firefox tiene su propia configuración de proxy, independiente del sistema:

  1. Abre Ajustes → General → Configuración de red → Configuración…
  2. Elige Configuración manual del proxy.
  3. Para un proxy HTTP, escribe la IP y el puerto en Proxy HTTP y marca Usar también este proxy para HTTPS.
  4. Para SOCKS, rellena Host SOCKS, elige SOCKS v5 (o v4) y marca DNS por proxy al usar SOCKS v5.
  5. Pulsa Aceptar y abre cualquier página de «cuál es mi IP» para comprobarlo.

Chrome y Edge

Los navegadores basados en Chromium usan por defecto el proxy del sistema. Para usar un proxy solo en el navegador, inícialo con un parámetro:

chrome --proxy-server="http://IP:PUERTO"
chrome --proxy-server="socks5://IP:PUERTO"

Las extensiones para cambiar de proxy hacen lo mismo con un botón y resultan útiles si cambias de proxy a menudo.

Windows y macOS

  • Windows: Configuración → Red e Internet → Proxy → Configuración manual del proxy → dirección y puerto.
  • macOS: Ajustes del Sistema → Red → tu conexión → Detalles → Proxies → activa Proxy web (HTTP), Proxy web seguro (HTTPS) o Proxy SOCKS.

La configuración del sistema afecta a todos los programas que la respetan, así que recuerda desactivar el proxy después.

curl

curl -x http://IP:PUERTO https://example.com
curl --socks5-hostname IP:PUERTO https://example.com

--socks5-hostname hace que el proxy resuelva el dominio para que tus consultas DNS no se filtren. Añade --max-time 15 para no quedarte colgado con un proxy muerto.

Python requests

import requests

proxy = "http://IP:PUERTO"          # o "socks5h://IP:PUERTO"
r = requests.get(
    "https://example.com",
    proxies={"http": proxy, "https": proxy},
    timeout=15,
)
print(r.status_code)

Para SOCKS necesitas un paquete adicional: pip install "requests[socks]".

Scrapy

Indica el proxy en cada petición mediante meta:

yield scrapy.Request(url, meta={"proxy": "http://IP:PUERTO"})

Rotar proxies gratis

Los proxies gratis funcionan mejor como un grupo. Descarga una lista fresca desde nuestra API, prueba los proxies por turnos y descarta los que fallen:

import random, requests

pool = requests.get(
    "https://SITIO/api/v1/proxies?protocol=http&anonymity=elite&format=txt"
).text.split()

for attempt in range(5):
    proxy = "http://" + random.choice(pool)
    try:
        r = requests.get("https://example.com",
                         proxies={"http": proxy, "https": proxy}, timeout=10)
        break
    except requests.RequestException:
        pool.remove(proxy.removeprefix("http://"))

Sustituye SITIO por la dirección de esta web. Renueva el grupo cada pocos minutos: la lista se actualiza cada 30 segundos.

Solución de problemas

  • Connection refused o tiempo de espera agotado: el proxy se ha caído. Usa el siguiente.
  • 407 Proxy Authentication Required: el proxy ahora pide contraseña; descártalo.
  • Captchas por todas partes: cambia a un proxy élite o a otro país.
  • El sitio ve tu IP real: el proxy es transparente o tu programa ignora la configuración del proxy.

Cuando los proxies gratis no basten, lee nuestra comparación de proxies gratis y de pago.

También disponible en: EnglishРусскийУкраїнськаPortuguês (Brasil)FrançaisDeutschTürkçeBahasa IndonesiaTiếng Việt简体中文العربيةفارسی

Sigue leyendo