Ir al contenido
GProxy
Registro
Гайды 6 min de lectura 33 vistas

Configuración de proxy para wget

Domina la configuración de proxy para wget con nuestra guía completa. Aprende a configurar y usar un servidor proxy con wget para descargas seguras.

Configuración de proxy para wget

Para configurar wget para descargar a través de un proxy, establezca las variables de entorno http_proxy, https_proxy o ftp_proxy, especifique los detalles del proxy mediante opciones de línea de comandos o defínalos en un archivo de configuración .wgetrc.

La configuración del proxy para wget es necesaria cuando el acceso directo a internet está restringido por firewalls, para enrutar el tráfico a través de una red específica o para fines de anonimato. wget admite los protocolos HTTP, HTTPS y FTP tanto para los recursos de destino como para las conexiones de proxy.

Métodos de Configuración de Proxy

Existen tres métodos principales para configurar wget para usar un proxy: variables de entorno, opciones de línea de comandos y el archivo de configuración .wgetrc. Cada método ofrece diferentes niveles de alcance y persistencia.

Variables de Entorno

Las variables de entorno proporcionan una configuración de proxy a nivel de sistema o específica de la sesión que wget detecta automáticamente. Este suele ser el método más común para configuraciones temporales o específicas del usuario.

  • http_proxy: Se utiliza para destinos HTTP.
  • https_proxy: Se utiliza para destinos HTTPS.
  • ftp_proxy: Se utiliza para destinos FTP.
  • no_proxy: Especifica una lista de dominios o direcciones IP separadas por comas que deben omitir el proxy.

El formato general para las URL de proxy es http://[user:password@]host:port/. wget utiliza principalmente proxies HTTP para obtener contenido, independientemente de si la URL de destino es HTTP o HTTPS. Por lo tanto, http_proxy a menudo es suficiente para destinos HTTP y HTTPS, a menos que se requiera un proxy HTTPS específico.

Configuración Temporal (Sesión Actual)

Establezca estas variables en su shell antes de invocar wget.

Linux/macOS (Bash/Zsh):

export http_proxy="http://proxy.example.com:8080"
export https_proxy="http://proxy.example.com:8080"
export ftp_proxy="http://proxy.example.com:8080"
export no_proxy="localhost,127.0.0.1,.internal.domain.com"

wget http://example.com/file.zip
wget https://secure.example.com/data.tar.gz

Para proxies que requieren autenticación:

export http_proxy="http://user:password@proxy.example.com:8080"
export https_proxy="http://user:password@proxy.example.com:8080"

wget http://example.com/file.zip

Nota: Incrustar credenciales directamente en variables de entorno o URL generalmente no se recomienda para entornos sensibles a la seguridad, ya que pueden ser visibles para otros procesos o almacenadas en el historial del shell.

Para deshabilitar el proxy para una sesión específica:

unset http_proxy
unset https_proxy
unset ftp_proxy

Windows (CMD):

set http_proxy=http://proxy.example.com:8080
set https_proxy=http://proxy.example.com:8080
set ftp_proxy=http://proxy.example.com:8080
set no_proxy=localhost,127.0.0.1,.internal.domain.com

wget http://example.com/file.zip

Windows (PowerShell):

$env:http_proxy="http://proxy.example.com:8080"
$env:https_proxy="http://proxy.example.com:8080"
$env:ftp_proxy="http://proxy.example.com:8080"
$env:no_proxy="localhost,127.0.0.1,.internal.domain.com"

wget http://example.com/file.zip

Configuración Permanente (Específica del Usuario)

Para que la configuración del proxy sea persistente entre sesiones para un usuario específico, añada los comandos export al archivo de perfil de su shell (por ejemplo, ~/.bashrc, ~/.zshrc, ~/.profile en Linux/macOS) o a los archivos de configuración a nivel de sistema.

Ejemplo para ~/.bashrc:

# Proxy Settings
export http_proxy="http://proxy.example.com:8080"
export https_proxy="http://proxy.example.com:8080"
export ftp_proxy="http://proxy.example.com:8080"
export no_proxy="localhost,127.0.0.1,.internal.domain.com"

Después de editar, cargue el archivo o reinicie su shell: source ~/.bashrc.

Opciones de Línea de Comandos

wget proporciona opciones de línea de comandos específicas para la configuración del proxy, anulando las variables de entorno y la configuración de .wgetrc para una única invocación. Esto es adecuado para descargas únicas o scripting donde la configuración del proxy necesita ser controlada dinámicamente.

  • --proxy-on: Habilita explícitamente el uso del proxy.
  • --proxy-off: Deshabilita explícitamente el uso del proxy.
  • --no-proxy: Lista de dominios separada por comas que deben omitir el proxy (similar a la variable de entorno no_proxy).
  • --proxy-user=<user>: Especifica el nombre de usuario del proxy.
  • --proxy-password=<password>: Especifica la contraseña del proxy.

Ejemplo de Uso:

# Descargar un archivo a través de un proxy, anulando cualquier configuración predeterminada
wget --proxy-on --proxy-user=myuser --proxy-password=mypassword http://proxy.example.com:8080 http://example.com/file.zip

# Descargar un archivo directamente, omitiendo cualquier proxy configurado
wget --proxy-off http://example.com/file.zip

# Usar proxy pero omitir para un dominio específico
wget --no-proxy=internal.example.com --proxy-on http://proxy.example.com:8080 http://example.com/file.zip

Al usar --proxy-user y --proxy-password, wget intentará autenticarse con el proxy utilizando las credenciales proporcionadas. La dirección del proxy en sí misma suele seguir definida a través de variables de entorno o .wgetrc.

Archivo de Configuración .wgetrc

El archivo .wgetrc permite configuraciones de proxy persistentes, específicas del usuario o a nivel de sistema. wget lee este archivo al ejecutarse.

  • Específico del usuario: ~/.wgetrc (Linux/macOS), o una ruta especificada por la variable de entorno WGETRC.
  • A nivel de sistema: /etc/wgetrc (Linux/macOS).

La configuración en ~/.wgetrc tiene precedencia sobre /etc/wgetrc. Las opciones de línea de comandos anulan ambas.

Directivas de Configuración:

# Habilitar o deshabilitar el uso del proxy por defecto
use_proxy = on

# Definir proxy HTTP
http_proxy = http://proxy.example.com:8080/

# Definir proxy HTTPS
https_proxy = http://proxy.example.com:8080/

# Definir proxy FTP
ftp_proxy = http://proxy.example.com:8080/

# Credenciales de autenticación del proxy
proxy_user = myuser
proxy_password = mypassword

# Dominios para omitir el proxy
no_proxy = localhost,127.0.0.1,.internal.domain.com

Ejemplo de contenido de ~/.wgetrc:

# Habilitar el uso del proxy
use_proxy = on

# Detalles del servidor proxy
http_proxy = http://user:password@proxy.example.com:8080/
https_proxy = http://user:password@proxy.example.com:8080/
ftp_proxy = http://user:password@proxy.example.com:8080/

# Dominios a excluir del proxy
no_proxy = localhost,127.0.0.1,dev.local

Autenticación de Proxy

wget admite autenticación de proxy básica y digest.

  • Vía URL: Como se muestra en los ejemplos de variables de entorno (http://user:password@host:port). Esto es menos seguro ya que las credenciales pueden aparecer en los registros o en el historial del shell.
  • Vía proxy_user y proxy_password: En .wgetrc o a través de opciones de línea de comandos (--proxy-user, --proxy-password). Esto es generalmente preferido por seguridad, ya que wget maneja el handshake de autenticación sin exponer las credenciales en texto claro dentro de la URL.

Comparación de Métodos de Configuración

Característica Variables de Entorno Opciones de Línea de Comandos Archivo .wgetrc
Alcance Específico de la sesión o del usuario (vía archivos de perfil) Invocación de un único comando wget Específico del usuario (~/.wgetrc) o a nivel de sistema (/etc/wgetrc)
Persistencia Temporal (sesión) o Permanente (archivo de perfil) Ninguna (efímera) Permanente
Precedencia Anulado por opciones de línea de comandos Más alta (anula todos los demás métodos) Anulado por opciones de línea de comandos y variables de entorno
Caso de Uso Propósito general, uso frecuente, scripting Descargas únicas, cambios dinámicos de proxy, pruebas Configuración predeterminada para un usuario o sistema
Autenticación Vía URL (menos seguro) Opciones dedicadas (--proxy-user, --proxy-password) Directivas dedicadas (proxy_user, proxy_password)

Solución de Problemas Comunes

  • "Proxy authentication required": Asegúrese de que proxy_user y proxy_password estén configurados correctamente, o que las credenciales se proporcionen en la URL del proxy. Verifique que el nombre de usuario y la contraseña sean correctos.
  • "Connection refused" / "Unable to connect to proxy":
    • Verifique que el host y el puerto del proxy sean correctos y que el servicio de proxy esté en ejecución.
    • Verifique la conectividad de red del cliente al servidor proxy.
    • Los firewalls (del lado del cliente o del proxy) podrían estar bloqueando la conexión.
  • "Bad Gateway" / "HTTP Error 502": El servidor proxy no pudo conectarse al servidor upstream o encontró un error al procesar la solicitud. Esto suele indicar un problema con el propio servidor proxy o su conexión a internet.
  • wget no usa el proxy:
    • Verifique que use_proxy = on en .wgetrc o que las variables de entorno estén configuradas y exportadas correctamente.
    • Asegúrese de que no haya configuraciones conflictivas de --proxy-off o no_proxy activas para la URL de destino.
    • Verifique si hay errores tipográficos en las direcciones del proxy.
  • no_proxy no funciona: Asegúrese de que la lista no_proxy esté formateada correctamente (separada por comas, sin espacios alrededor de las comas) e incluya los dominios o direcciones IP exactos. wget realiza una coincidencia de subcadenas, por lo que .example.com coincidirá con host.example.com.
  • Objetivos HTTPS fallan a través de proxy HTTP: Si bien wget a menudo puede tunelizar HTTPS a través de un proxy HTTP, algunos proxies o configuraciones de red pueden requerir una configuración de proxy HTTPS dedicada (usando https_proxy) o una conexión directa para HTTPS. Si https_proxy no está configurado, wget usará http_proxy por defecto. Asegúrese de que su servidor proxy admita el tunelización SSL/TLS.
Actualizado: 03.03.2026
Volver a la categoría

Pruebe nuestros proxies

20,000+ proxies en 100+ países del mundo

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.