Cómo usar cURL con un servidor proxy en Linux en 2026
Resumen
Usa curl --proxy para una solicitud de proxy de Linux con un solo uso. Pasa el endpoint del proxy por separado de --proxy-user para que el comando se mantenga legible y las credenciales del proxy sean claramente distintas de las credenciales del servidor de origen.
Elige el esquema del proxy deliberadamente.http://, https://, socks5:// y socks5h:// describen cómo curl se conecta al proxy; socks5h:// también mueve la resolución DNS de destino al proxy.
Usa variables de entorno o un archivo de configuración de curl solo cuando el proxy deba persistir. Las banderas de un solo uso son más fáciles de auditar, mientras que http_proxy, https_proxy, ALL_PROXY, NO_PROXY y ~/.curlrc son mejores para flujos de trabajo repetibles.
Verifica tres resultados separados. Confirma que curl llegó al proxy, que el destino vio la IP de salida esperada y que el destino devolvió el estado HTTP que tu tarea requiere.
Trata las credenciales como secretos. El historial de comandos, los metadatos de proceso, las variables de entorno y los archivos de configuración legibles pueden exponer una contraseña de proxy si el host es compartido o mal controlado.
Usa la URL de Proxy generada por tu Canal Nstproxy. No copies un nombre de host de puerta de enlace de un tutorial antiguo porque el host, puerto, nombre de usuario y parámetros de sesión generados por el panel de control son autoritativos para tu cuenta.
Cómo Cambia la Configuración del Proxy de Curl en Linux
Una configuración de proxy de curl en Linux envía la conexión de curl a un endpoint intermedio, que luego se conecta al destino en tu nombre. Curl utiliza -x o --proxy para ese endpoint y asume un proxy HTTP cuando la URL del proxy no tiene esquema, según la documentación oficial del proxy HTTP de curl.
La URL de destino y la URL del proxy describen diferentes saltos de red. Por ejemplo, un destino HTTPS alcanzado a través de un proxy HTTP aún recibe una conexión TLS de extremo a extremo después de que curl le pide al proxy que cree un túnel CONNECT. Un proxy HTTPS agrega TLS al salto de cliente a proxy.
Componente del comando
Qué controla
Ejemplo de marcador de posición
URL de destino
El sitio o API que deseas alcanzar
https://example.com/health
Esquema del proxy
Cómo curl se conecta al proxy
http:// o socks5h://
Endpoint del proxy
El host y puerto del proxy generados
$PROXY_HOST:$PROXY_PORT
Credenciales del proxy
Autenticación en el intermediario
$PROXY_USER:$PROXY_PASS
Credenciales de origen
Autenticación en el destino
Un -u, token o encabezado separado cuando sea necesario
Echa un Vistazo Rápido
Si necesitas un endpoint HTTP o SOCKS5 generado para pruebas de curl repetibles, Nstproxy te permite crear la URL del Proxy en un Canal y mapear sus valores directamente a los comandos a continuación.
Verifica Curl en Linux Antes de Configurar un Proxy
Verificar la versión de curl instalada te dice qué protocolos y características de proxy están disponibles en ese host de Linux. La mayoría de las distribuciones actuales incluyen curl o lo proporcionan a través del administrador de paquetes estándar, pero la lista de características del binario es más útil que suponer el soporte basado en el nombre del sistema operativo.
curl--versioncurl--help proxy
Busca HTTP, HTTPS y HTTPS-proxy en la salida de protocolos o características cuando esas capacidades son importantes. Para SOCKS, la ayuda del proxy debería listar opciones como --socks5 y --socks5-hostname.
Si falta curl, instálalo desde el repositorio de distribución y ejecuta curl --version nuevamente. En Debian o Ubuntu, el comando del paquete es sudo apt-get update && sudo apt-get install curl; en Fedora, usa sudo dnf install curl; y en Arch Linux, usa sudo pacman -S curl.
Copia la URL de Proxy de Nstproxy en Marcadores de Posición Seguros
La configuración reutilizable más segura copia la URL de Proxy específica de la cuenta en variables de shell sin publicar los valores reales. El flujo de trabajo de generación de proxy de Nstproxy comienza en un Canal: habilita la Generación de Proxy, elige los parámetros y copia la URL de Proxy resultante. El formato de integración de curl separa --proxy host:port de --proxy-user username:password.
El siguiente bloque es una plantilla ilustrativa porque requiere credenciales generadas en tu propio panel de control:
read-r-p"Host del proxy: " PROXY_HOST
read-r-p"Puerto del proxy: " PROXY_PORT
read-r-p"Nombre de usuario del proxy: " PROXY_USER
read-r-s-p"Contraseña del proxy: " PROXY_PASS
echoexport PROXY_HOST PROXY_PORT PROXY_USER PROXY_PASS
read -s evita que la contraseña se muestre mientras la escribes, pero exportar un secreto no es un límite de seguridad universal. En un host compartido o altamente regulado, utiliza el almacén de secretos del sistema operativo o un secreto de proceso inyectado y mantén la credencial fuera de los archivos de inicio de shell.
Enviar una solicitud HTTP o HTTPS a través del Proxy
El comando autenticado estándar utiliza --proxy para el punto final y --proxy-user para el par de credenciales. Esta estructura también facilita reemplazar o rotar credenciales sin editar la URL de destino.
El comando a continuación es una plantilla dependiente de prerequisitos; se vuelve ejecutable después de que reemplaces las cuatro variables de entorno con valores de tu URL de Proxy Nstproxy generada:
El prefijo http:// describe la conexión al proxy, no el protocolo del destino. Un destino HTTPS normalmente viaja a través de un proxy HTTP en un túnel CONNECT, mientras que https://$PROXY_HOST:$PROXY_PORT solicita TLS entre curl y el propio proxy.
No agregues --insecure como una solución de rutina. Esa opción debilita la verificación de certificados para la conexión de destino; un proxy HTTPS tiene controles de verificación separados como --proxy-cacert y --proxy-insecure, y deshabilitar cualquiera de estas verificaciones debería ser un paso de diagnóstico corto y documentado en lugar de una configuración de producción.
Usar SOCKS5 Sin Fugar DNS de Destino
Utiliza socks5h:// cuando el proxy deba resolver el nombre de host de destino. La documentación oficial de SOCKS de curl distingue entre socks5://, que resuelve el destino localmente, y socks5h://, que envía el nombre de host al proxy.
La forma del comando y la entrega del nombre de host del lado del proxy se ejecutaron contra un proxy SOCKS5 autenticado local; una solicitud real de Nstproxy aún requiere las credenciales de cuenta generadas.
Para llamadas a APIs HTTP ordinarias, ya sea un proxy HTTP o un proxy SOCKS5 pueden funcionar. HTTP es a menudo la opción más directa para tráfico solo web, mientras que SOCKS5 es útil cuando una aplicación necesita un transporte proxy más general. La decisión clave específica de curl suele ser la colocación de DNS, razón por la cual socks5h:// debe ser explícito en lugar de implícito. Para una comparación de protocolos más amplia, consulta la guía de Nstproxy sobre SOCKS5 versus proxies HTTP.
Configurar Variables de Entorno del Proxy para Comandos Repetidos
Las variables de entorno permiten que múltiples comandos curl compartan una configuración de proxy sin repetir --proxy. Curl lee variables específicas de esquema, retrocede a ALL_PROXY y permite que NO_PROXY omita hosts seleccionados, como se documenta en la guía oficial de variables de entorno del proxy.
Este flujo de variables de entorno se ejecutó a través de un proxy HTTP autenticado local; usa los valores generados de Nstproxy antes de ejecutarlo contra el servicio.
La escritura en minúsculas de http_proxy es intencionada. Curl rechaza HTTP_PROXY en mayúsculas porque los entornos CGI pueden crear esa variable a partir de un encabezado Proxy entrante, lo que históricamente hizo que confiar en ella fuera inseguro. Otras variables de esquema pueden estar en mayúsculas, pero los nombres consistentes en minúsculas reducen sorpresas en los scripts de shell de Linux.
Utiliza NO_PROXY para servicios y dominios locales que deben permanecer directos. Un punto inicial como .internal.example coincide con el dominio y sus subdominios, mientras que * omite el proxy para cada destino. Curl también admite --noproxy como una anulación de un solo comando.
Hacer Persistentes las Configuraciones de Proxy de Curl con un Archivo de Configuración
Un archivo de configuración de curl es apropiado cuando la misma cuenta de Linux controlada necesita los mismos valores predeterminados en todas las sesiones. Curl lee un archivo de configuración predeterminado a menos que se suministre -q; las ubicaciones de búsqueda en Linux documentadas incluyen $CURL_HOME/.curlrc, $XDG_CONFIG_HOME/curlrc, y $HOME/.curlrc en ese orden, según la referencia oficial de archivo de configuración.
La sintaxis de configuración fue consumida con éxito por curl con un proxy autenticado local; reemplace cada marcador de posición antes de usar el archivo con Nstproxy.
Proteja un archivo que contenga credenciales para que otros usuarios locales no puedan leerlo:
chmod600 ~/.curlrc
curl"https://httpbin.org/ip"curl-q"https://httpbin.org/ip"# Ignorar la configuración predeterminada de curl para esta ejecución
Un archivo de configuración mejora la repetibilidad, pero no cifra una contraseña en texto plano. Preferir una credencial de corta duración o un mecanismo external de inyección de secretos cuando el host se comparte, se realiza copias de seguridad de manera amplia o es gestionado por varios operadores.
Verificar el Proxy, Código de Salida y Estado HTTP por Separado
Una verificación confiable comprueba el camino de red y el resultado de la aplicación en lugar de tratar cualquier cuerpo de respuesta como éxito. Primero comparen la IP de salida directa con la IP de salida a través del proxy; luego registren el código de salida de curl y el estado HTTP del destino.
El flujo de salida y código de salida a continuación se ejecutó a través de un proxy autenticado local; la IP observada en su ejecución dependerá del punto final de Nstproxy y los parámetros de enrutamiento generados para su cuenta.
Una IP de salida cambiada confirma que el destino vio una dirección de red diferente, pero no prueba que cada objetivo acepte esa dirección. Pruebe el punto final público o autorizado exacto que necesita su flujo de trabajo, mantenga el volumen de solicitudes limitado y registre el estado y esquema de respuesta esperados. La guía de prueba de proxy de Nstproxy proporciona verificaciones adicionales para ubicación, latencia, acceso a objetivo y reputación de IP.
Use -v solo mientras diagnostica porque la salida detallada puede revelar nombres de host de proxy, nombres de usuario, encabezados de solicitud y otros detalles operativos en los registros de la terminal. Redirija los diagnósticos a un archivo protegido cuando la salida deba ser retenida.
Solucionar Comunes Fallos de Proxy de Curl
Los fallos de proxy de Curl son más fáciles de resolver cuando se identifica qué salto falló. La conexión cliente-proxy, la autenticación del proxy, la conexión proxy-origen y la respuesta del origen pueden fallar independientemente.
Síntoma
Límite probable
Qué comprobar
No se pudo resolver el proxy
DNS local o nombre de host del proxy
Vuelva a copiar el host generado y elimine espacios o comillas sobrantes
Conexión rechazada
Host o puerto del proxy
Verifique el puerto generado, las reglas del firewall y el estado del canal
Tiempo de conexión agotado
Ruta o punto final no disponible
Pruebe el DNS, la alcanzabilidad TCP y un --connect-timeout limitado
HTTP 407
Autenticación del proxy
Vuelva a copiar el nombre de usuario/contraseña del proxy e inspecione el esquema de autenticación anunciado
HTTP 401
Autenticación del destino
Verifique el token de destino o las credenciales de origen, no --proxy-user
HTTP 403
Política de destino
Confirme autorización, tasa de solicitud, reglas del punto final y si se acepta la IP de salida
Error de verificación TLS
Cadena de certificado de destino o proxy HTTPS
Identifique qué salto falló e instale la CA correcta en lugar de deshabilitar chequeos
Ubicación incorrecta o IP sin cambios
Parámetros del proxy o regla de bypass
Verifique parámetros de sesión/geografía, NO_PROXY, .curlrc y variables de shell
HTTP 407 tiene un significado preciso: el proxy carece de credenciales válidas y debería describir el método aceptado en Proxy-Authenticate, mientras que el cliente puede reintentar con Proxy-Authorization, como se define en la referencia HTTP 407 de MDN. Esto es diferente de un 401 o 403 del lado del objetivo.
Para un rastreo detallado, ejecute la misma solicitud con --verbose e inspeccione el primer paso fallido. No copie rastreos sin redactar en tickets o chat porque Proxy-Authorization y valores expandidos en el entorno pueden contener secretos. Nstproxy también mantiene una visión general de las categorías de errores del servidor proxy y soluciones.
Por Qué Nstproxy Se Ajusta a un Flujo de Trabajo de Curl
Nstproxy se adapta a flujos de trabajo de curl que necesitan puntos finales HTTP o SOCKS5 generados por la cuenta, en lugar de una lista de proxies públicos codificados de forma rígida. El dashboard crea una URL de Proxy a partir de la configuración del Canal, y la integración de curl documentada mapea esa URL a --proxy más --proxy-user. Este enfoque funciona para desarrolladores que prueban APIs, operadores que validan el comportamiento regional y equipos de datos que realizan solicitudes autorizadas a puntos finales públicos. La principal decisión de selección es el producto de proxy, la ubicación, el comportamiento de la sesión y el modelo de facturación que coincida con la carga de trabajo, en lugar de una afirmación universal de que un tipo de proxy es siempre superior.
Opciones estándar de curl — La forma de conexión documentada utiliza las banderas de proxy y autenticación de proxy nativas de curl, por lo que no se requiere ninguna biblioteca de cliente adicional.
Elecciones HTTP y SOCKS5 — Nstproxy documenta ambos protocolos, lo que permite que el comando utilice un túnel HTTP o la resolución de nombres de host SOCKS5 del lado del proxy cuando sea apropiado.
Configuración generada por el Canal — La URL del Proxy generada por la cuenta sigue siendo la fuente de verdad para host, puerto, credenciales y parámetros de enrutamiento.
Elección de producto por carga de trabajo — Proxies Residenciales Lite están posicionados para la recolección de datos consciente del costo, mientras que otras líneas de proxy en vivo abordan diferentes requisitos de persistencia, operador o infraestructura.
Revise la actual tarifa de Residential Lite antes de seleccionar un paquete, ya que las tarifas y el empaquetado publicados pueden cambiar.
Echa un vistazo rápido
Genera una URL de Proxy específica del Canal en Nstproxy, luego pega su punto final y credenciales en las plantillas de curl verificadas en lugar de depender de un gateway desactualizado copiado de otra cuenta.
Un flujo de trabajo confiable de proxy curl en Linux comienza con un esquema de proxy explícito, separa las credenciales de proxy de las credenciales de destino y verifica cada salto de red. Utiliza banderas únicas mientras pruebas, pasa a variables de entorno o un archivo de configuración protegido solo cuando la persistencia esté justificada, y prefiere socks5h:// cuando el DNS de destino deba ser resuelto por el proxy. Lo más importante, utiliza la URL de Proxy actual generada en tu Canal de Nstproxy y trata cada comando, entorno, traza y archivo que contenga credenciales como sensible.
Utiliza curl --proxy "http://HOST:PORT" --proxy-user "USER:PASS" "https://example.com" después de reemplazar los marcadores de posición con tu punto final generado. Agrega --connect-timeout y --max-time para que un punto final fallido no deje el comando esperando indefinidamente.
P: ¿Por qué curl devuelve HTTP 407?
HTTP 407 significa que el proxy no recibió credenciales de proxy válidas. Recopia el nombre de usuario y la contraseña generados, verifica el método de autenticación de proxy y mantén las credenciales de origen separadas de --proxy-user.
P: ¿Cuál es la diferencia entre socks5:// y socks5h:// en curl?
socks5:// hace que curl resuelva el nombre de host de destino localmente, mientras que socks5h:// envía el nombre de host al proxy SOCKS5 para su resolución. Usa socks5h:// cuando el DNS del lado del proxy sea parte del enrutamiento o requisito de privacidad.
P: ¿Cómo puedo confirmar que curl está usando el proxy?
Compara las respuestas directas y proxy de un punto final de verificación de IP, luego inspecciona el código de salida de curl y el estado HTTP de destino. Una IP cambiada confirma la salida observada, pero aún debes probar el objetivo autorizado exacto que necesita tu flujo de trabajo.
P: ¿Configurar https_proxy significa que el proxy en sí usa HTTPS?
No. El nombre de la variable selecciona solicitudes cuyo URL de destino comienza con https://; el esquema del valor determina cómo curl se conecta al proxy. Por ejemplo, https_proxy=http://HOST:PORT enruta destinos HTTPS a través de un túnel de proxy HTTP.
P: ¿Cómo puedo omitir el proxy para localhost o un dominio interno?
Establezca NO_PROXY="localhost,127.0.0.1,.internal.example" o use --noproxy para un solo comando. Ejecute unset NO_PROXY cuando la excepción ya no deba aplicarse.
P: ¿Es seguro almacenar una contraseña de proxy en ~/.curlrc?
Una contraseña en ~/.curlrc está en texto plano, por lo que el archivo es apropiado solo en una cuenta controlada con permisos restrictivos, como el modo 600. Los hosts compartidos y los despliegues automatizados deben utilizar un mecanismo dedicado de gestión o inyección de secretos en su lugar.
P: ¿Debería usar --insecure cuando una solicitud a través de un proxy tiene un error TLS?
No, no como una solución normal. Primero, determine si la validación del certificado falló en la conexión de destino o en la conexión del proxy HTTPS, instale la CA correcta y use una opción insegura solo para un diagnóstico corto que esté explícitamente documentado y nunca exponga tráfico sensible.
Kai Watanabe
Aug. 6th 2026
110M+ IP reales con 99.9% de acceso exitoso
Respuesta media ultrarrapida ~0.5s para tareas de alta concurrencia
Desde solo $0.1/GB
Acceso inmediato a pools premium de proxies residenciales, datacenter, IPv6 e ISP.