Puerto del proxy

Envía tu propio tráfico a través de las salidas de FourA desde cualquier cliente que acepte una URL de proxy: un navegador, una herramienta de descarga o un scraper que ya utilices. El puerto del proxy abre un túnel hacia el destino que indiques y copia bytes en ambas direcciones, por lo que admite lo que la API JSON no: streams, descargas grandes y sesiones completas de navegador.

Beta. El puerto del proxy está en fase beta. El tráfico a través de él aún no se factura, no está cubierto por monitorización ni por un compromiso de disponibilidad, y los nombres de las opciones aún pueden cambiar. Avísanos si algo falla.

Conexión

Parámetro Valor
Host proxy.foura.ai
Port 34004
Protocol HTTP CONNECT con autenticación Basic
Target ports 443 y 80

Las credenciales se obtienen en el panel de control. Crea un usuario de proxy en Proxy, en la barra lateral, para obtener un nombre de usuario y una contraseña generados. Están separados de tu clave de API a propósito: el handshake del proxy viaja en texto plano en cada conexión, y un usuario de proxy se puede rotar sin modificar tu integración con la API. Consulta Proxy Users.

curl -x http://USERNAME:PASSWORD@proxy.foura.ai:34004 https://example.com
import requests

proxy = "http://USERNAME:PASSWORD@proxy.foura.ai:34004"
r = requests.get("https://example.com", proxies={"https": proxy, "http": proxy})
print(r.status_code)

El puerto solo admite CONNECT. Todos los clientes tunelizan un destino https://. Un destino http:// simple funciona cuando tu cliente también lo tuneliza (curl: --proxytunnel); un cliente que en su lugar reenvía la request simple al proxy recibe 405 Method Not Allowed.

Las opciones van en el nombre de usuario

Todo lo que va después de la credencial es una lista de pares -key-value, en cualquier orden:

USERNAME-network-residential-country-de-session-a1

Los valores son palabras en minúsculas. Un guion dentro de un valor inicia una nueva opción, por lo que -city-new-york se interpreta como dos opciones y se rechaza. Una clave desconocida también se rechaza y nunca se descarta: escribir mal -contry-de devuelve un error 400 que lista las claves admitidas, en lugar de enrutar la petición desde el país equivocado.

Opción Valores Qué hace
network shared (predeterminado, alias pool), residential La red de la que proviene la dirección. Shared son las salidas propias de FourA, incluidas en tu plan. Residential son direcciones residenciales, tomadas del tráfico premium que incluye tu plan más el que hayas comprado.
fallback residential, off Solo red compartida (shared). Usa una salida residencial cuando la red compartida no pueda procesar la request. Desactivado a menos que se solicite, y solo se activa cuando tu plan incluye tráfico premium y saldo disponible.
country ISO 3166-1 alpha-2, repetible El país de salida que ve el destino. Repítelo para un alcance multipaís: -country-de-country-fr.
session 1 a 32 letras, dígitos o guiones bajos Las conexiones que comparten nombre comparten dirección (sticky). Omítelo para obtener una nueva dirección por conexión (rotating).
state una palabra Región. Solo residencial.
city una palabra Ciudad. Solo residencial.
asn un número Red, por número de AS. Solo residencial.
os windows, android, ios, mac El tipo de dispositivo al que pertenece la dirección. Solo residencial.
lifetime 3 a 1440 Minutos que se retiene una dirección residencial sticky. Solo residencial.

Todas las opciones excepto network, fallback y session aceptan any, que borra el valor guardado en el usuario proxy para esta conexión específica.

Se rechazan tres combinaciones con un 400 en lugar de aplicarse parcialmente:

  • state, city, asn, os o lifetime en la red compartida. La red compartida se selecciona solo por país y ningún criterio más específico; añade -network-residential para segmentar por ciudad.
  • -fallback-residential junto con -network-residential. Un fallback no tiene ninguna función en la red a la que recurre.
  • Segmentación detallada con un fallback activo. Un fallback puede activarse o no, por lo que se rechaza una ciudad que solo podría respetarse a veces.

Sesiones

En la red compartida, una sesión con nombre mantiene la misma salida mientras la sigas usando, en una ventana deslizante de diez minutos. Si esa salida deja de funcionar, la sesión pasa a otra en lugar de fallar. Un navegador controlado a través del puerto siempre debe llevar un nombre de sesión: la carga de una página abre docenas de conexiones, y sin una sesión cada una saldrá desde una dirección diferente.

En la red residencial, una sesión con nombre mantiene su dirección durante lifetime minutos, o el valor predeterminado de la red cuando no configuras ninguno.

Valores predeterminados guardados

La segmentación guardada en un usuario proxy en el panel se aplica a cada conexión realizada con él, por lo que el nombre de usuario puede mantenerse corto. Cualquier valor que pongas en el nombre de usuario prevalece para esa conexión específica, y any restablece un valor guardado. Un valor residencial predeterminado guardado solo consume saldo cuando tu plan lo permite; de lo contrario, la conexión se sirve desde la red compartida.

Encabezados CONNECT

Un cliente que pueda agregar encabezados a la solicitud CONNECT puede enviar las mismas opciones como encabezados. Un encabezado prevalece sobre la misma opción en el nombre de usuario.

Encabezado Equivalente a
X-Foura-Network -network-
X-Foura-Fallback -fallback- (residential o off)
X-Foura-Country -country-, separados por comas para varios
X-Foura-Session -session-
X-Foura-State -state-
X-Foura-City -city-
X-Foura-Asn -asn-
X-Foura-Lifetime -lifetime-
curl -x http://USERNAME:PASSWORD@proxy.foura.ai:34004 \
  --proxy-header "X-Foura-Country: de" \
  https://example.com

Respuestas

Un túnel que se abre responde 200 Connection established. Cada rechazo incluye un header X-Foura-Error con un motivo de una sola línea, así que lee ese header antes que cualquier otra cosa.

Status Cuándo
400 Bad Request Una request malformada o una opción que FourA no puede procesar. X-Foura-Error detalla la opción y los valores admitidos.
403 Forbidden El puerto de destino no está disponible o el destino no es un host público de internet.
405 Method Not Allowed Una request simple en lugar de CONNECT.
407 Proxy Authentication Required Credenciales ausentes o incorrectas. La respuesta nunca especifica qué parte fue la errónea.
408 Request Timeout El cliente se conectó y no envió nada durante 15 segundos.
429 Too Many Requests El usuario de proxy ya tiene 200 túneles abiertos, o el puerto alcanzó su capacidad o tasa de apertura.
502 Bad Gateway No se encontró una salida operativa para ese destino dentro del tiempo límite de selección, o el propio resolver de FourA no pudo resolver el host. Ambos son mensajes diferentes en X-Foura-Error.
503 Service Unavailable El puerto del proxy está desactivado.

Límites

  • Hasta 200 túneles abiertos a la vez por usuario de proxy.
  • Encontrar una salida toma hasta 45 segundos antes de que el puerto falle con un error 502. Una sesión que ya tiene una salida generalmente se conecta en mucho menos de un segundo.
  • Un túnel sin bytes en ninguna dirección se cierra tras dos minutos de inactividad.
  • Un usuario de proxy que desactives o elimines en el panel de control deja de autenticarse en menos de un minuto.

Medición

Los bytes que pasan por el puerto cuentan para el ancho de banda en tu página de Uso y límites, y los bytes a través de una salida residencial también cuentan para tu tráfico premium. Una conexión que especifica -network-residential una vez agotada la cuota premium se atiende de todos modos; en ese estado no se aplica un fallback ni un valor residencial predeterminado guardado, y la red compartida atiende la conexión en su lugar.

Relacionado

Actualizado: 10 de septiembre de 2026