Integraciones · Principiante

cURL a través de un proxy: todas las opciones importantes, con ejemplos

cURL es la forma más rápida de demostrar que un proxy funciona y la referencia que imita cada biblioteca. Conozca sus cinco indicadores de proxy y podrá depurar cualquier cliente.

2 minutos de lectura 6 secciones Revisado Equipo editorial Proxy Cyber

La frase única#

Primera solicitud
curl -x http://USER-cc-us:PASS@res.proxy-cyber.com:9000 https://api.ipify.org

-x (o --proxy) toma la URL del proxy con las credenciales incrustadas. cURL crea un túnel a los destinos HTTPS con CONNECT automáticamente y le pide al proxy que resuelva el nombre de host.

Banderas que vale la pena conocer#

BanderaPropósito
-x, --URL proxyEl proxy: esquema, host, puerto, credenciales opcionales
-U, --proxy-user usuario:pasarCredenciales por separado, útil cuando la contraseña tiene caracteres especiales
--proxy-básicoForzar autenticación de proxy básica (el valor predeterminado cuando se proporciona una contraseña)
-vMostrar el intercambio CONNECT, los códigos de estado del proxy y los encabezados de respuesta
--noproxy '*'Ignorar las variables de entorno del proxy para esta llamada
-w '%{tiempo_total}\n'Imprimir tiempos para comparar salidas

SOCKS5 y DNS remoto#

calcetines5h
# Hostname resolved at the exit (recommended)
curl -x socks5h://USER-cc-de:PASS@res.proxy-cyber.com:9001 https://api.ipify.org

# Hostname resolved locally, then the IP is sent to the proxy (leaks the lookup)
curl -x socks5://USER-cc-de:PASS@res.proxy-cyber.com:9001 https://api.ipify.org

Variables ambientales#

Herramientas que pagan por cURL, y muchas otras, honran http_proxy, https_proxy y no_proxy. Exportarlos una vez para una sesión de trabajo.

Concha
export https_proxy="http://USER-cc-us:PASS@res.proxy-cyber.com:9000"
export http_proxy="$https_proxy"
export no_proxy="localhost,127.0.0.1"
curl https://api.ipify.org   # proxied without -x

leyendo un fracaso#

Detallado
curl -v -x http://USER:WRONG@res.proxy-cyber.com:9000 https://api.ipify.org 2>&1 | grep -E "CONNECT|HTTP/1.1 4|HTTP/1.1 5"
# < HTTP/1.1 407 Proxy Authentication Required  -> credentials
# < HTTP/1.1 400 Bad Request                    -> a username parameter is wrong
# < HTTP/1.1 502 Bad Gateway                    -> no exit for that location; widen it

Un estado en la línea CONNECT proviene de la puerta de enlace; un estado después Connection established proviene del destino. el página de errores asigna cada código de puerta de enlace.

Sesiones rotativas en bucle#

golpe
for i in $(seq 1 5); do
  curl -s -x "http://USER-cc-us-sid-run$i-ttl-5m:PASS@res.proxy-cyber.com:9000" https://api.ipify.org
  echo
done   # five different United States exits, each reusable for five minutes under its id

Preguntas que hace la gente#

¿CURL necesita un indicador especial para HTTPS a través del proxy?

No. Con una URL proxy http://, cURL emite CONNECT para destinos https:// automáticamente; --proxytunnel solo importa para forzar un túnel en HTTP simple.

Mi contraseña contiene @ o: y cURL falla.

Pase las credenciales con -U usuario:pasar en lugar de incrustarlas en la URL, o codifique en URL los caracteres especiales.

tu cuenta

Gestiona tus proxies en una sola cuenta

Compare redes, realice pedidos y siga su saldo y solicitudes de soporte desde un solo panel. Nuestro equipo revisa los pagos y proporciona detalles de conexión después de la entrega.

Crear cuenta