Uso de Wget con un Proxy

En este artículo, te sumergirás en el mundo de Wget y Linux, explorando cómo puedes integrar fácilmente Proxies en tu flujo de trabajo.
11 min de lectura
Using Wget with a Proxy

GNU Wget es una versátil utilidad de línea de comandos que se ha vuelto indispensable para muchos usuarios de Linux que confían en ella para descargar archivos de Internet sin esfuerzo. Cuenta con numerosas funciones, es fácil de usar y es compatible con los protocolos de red más comunes, incluidos HTTP, HTTPS y FTP. Además, Wget tiene soporte integrado para descargar sitios web completos o subconjuntos de páginas, lo que la convierte en una herramienta ideal para el Scraping web, el mirroring y el archivado web.

Una de las características más impresionantes de Wget es su capacidad para funcionar a la perfección con Proxy. Como usuario de Linux, a menudo necesitarás un Proxy para ocultar tu identidad, eludir molestas restricciones regionales o mejorar el rendimiento mediante el equilibrio de carga. Con Wget en tu kit de herramientas, integrar Proxy es fácil.

¿Qué es Wget?

Wget, abreviatura de «World Wide Web» y «get», es un programa gratuito y de código abierto para interactuar con archivos en Internet. Forma parte del Proyecto GNU, una iniciativa de colaboración masiva de software libre.

Wget viene equipado con funciones muy útiles para los usuarios técnicos que trabajan con archivos en línea. Entre ellas se incluyen descargas por lotes, reanudación de descargas interrumpidas, descargas recursivas, compatibilidad con Proxy, programación de descargas, limitación del Ancho de banda, agente de usuario personalizable y compatibilidad con SSL/TLS. Además, no es interactivo, lo que lo hace perfecto para scripts y tareas cron que se ejecutan en segundo plano.

Wget es muy popular entre los usuarios de Linux y Unix, y también tiene versiones disponibles para Windows y macOS. La impresionante gama de funciones y la compatibilidad multiplataforma de Wget lo convierten en la herramienta ideal para diversas tareas basadas en la web, como la descarga de archivos de gran tamaño, la automatización de descargas y la creación de réplicas de sitios web.

Uso de Proxies con Wget en Linux

Existe una gran variedad de proxies, incluyendo proxies de centro de datos y residenciales, cada uno con sus propias ventajas y casos de uso. El uso de proxies con Wget ofrece ventajas, como eludir las restricciones geográficas y de red/ISP. También le permite mantener el anonimato y la privacidad mientras navega por la web o descarga archivos.

Cuando se utiliza el proveedor de Proxy adecuado, los proxies también se pueden utilizar para almacenar en caché los recursos a los que se accede con frecuencia, lo que aumenta el rendimiento. Además, los proveedores de Proxy pueden influir en la velocidad de su red, ayudarle a eludir los límites de velocidad proporcionándole un amplio conjunto de direcciones IP e incluso ofrecerle soluciones que le ayuden a eludir los captchas. Por ello, es fundamentalseleccionar el proveedor de Proxy adecuadopara garantizar que su Proxy funcione de forma eficaz, especialmente cuando se utiliza con Wget.

Configuración de Wget con un Proxy

Para utilizar Wget con un Proxy, debe configurar los ajustes adecuados en su entorno o dentro del propio comando Wget. Hay varias formas de hacerlo, y este tutorial cubrirá cuatro de ellas: configurar los ajustes del Proxy utilizando variables de entorno, configurar Proxies para todos los usuarios actualizando el archivo /etc/wgetrc, configurar Proxies para el usuario actual actualizando el archivo ~/.wgetrc y configurar el Proxy para la instancia actual del terminal utilizando el indicador -e. También aprenderá a utilizar Wget con proxies autenticados y no autenticados.

Puede encontrar todas las configuraciones que se tratan en este artículo en este gist de GitHub.

Antes de empezar a utilizar Wget con un Proxy, necesita lo siguiente:

  • Sistemas basados en Debian
  • Detalles del servidor Proxy: para utilizar Wget con un Proxy, necesita los detalles del servidor Proxy. Esto incluye la dirección IP o el nombre de host del servidor, el número de puerto y, si es necesario, la información de autenticación (es decir, el nombre de usuario y la contraseña). Puede obtener esta información de su proveedor de Proxy o del administrador de la red.

1. Configurar los ajustes del Proxy utilizando variables de entorno

La forma más fácil de configurar los ajustes del Proxy para Wget es definiéndolos a nivel del sistema mediante variables de entorno. Esto permite que varios programas lean el valor y lo utilicen, por lo que solo es necesario cambiarlo una vez. Configurar el Proxy como variable de entorno garantiza que Wget lo utilice para todas las solicitudes realizadas desde su ordenador.

Para configurar un Proxy para Wget, añada las siguientes líneas a su archivo de configuración del shell (es decir , .bashrc o .bash_profile) y sustituya los marcadores de posición por la dirección y el puerto de su servidor Proxy (es decir, http://proxy.example.com:8080):

export http_proxy=http://proxy_address:proxy_port
export https_proxy=https://proxy_address:proxy_port

Si el Proxy requiere autenticación, en lugar de http://proxy_address:proxy_port, también debe añadir el nombre de usuario y la contraseña en la URL para que quede así:

export http_proxy=http://username:password@proxy_address:proxy_port
export https_proxy=username:password@proxy_address:proxy_port
export ftp_proxy=username:password@proxy_address:proxy_port

Recuerde sustituir las variables de nombre de usuario, contraseña, dirección_Proxy y puerto_Proxy por los valores adecuados (por ejemplo , http_proxy=http://username:[email protected]:8080).

Después de añadir estas líneas, reinicie su shell o ejecute source .bashrc o source .bash_profile, dependiendo del archivo que haya utilizado para aplicar los cambios.

2. Configure los Proxies para todos los usuarios actualizando el archivo /etc/wgetrc

Si necesita configurar un Proxy para todo el sistema. Por ejemplo, si desea utilizar un Proxy solo cuando descargue archivos con Wget para proteger su identidad, Wget le ofrece una forma sencilla de hacerlo, y puede hacerlo tanto para un usuario individual del sistema como para todos los usuarios del sistema.

Configurar el Proxy para todos los usuarios del sistema es útil en casos en los que hay una máquina compartida de la empresa con diferentes usuarios que dependen del mismo Proxy para realizar el trabajo. Wget le permite configurar el Proxy una vez para que todos los usuarios puedan acceder a él.

Para configurar un Proxy para todos los usuarios, debe modificar el archivo de configuración ubicado en /etc/wgetrc. El archivo wgetrc es un archivo de inicialización que almacena la configuración y las opciones predeterminadas de Wget. Este archivo le permite personalizar su comportamiento sin tener que especificar siempre argumentos de línea de comandos.

Para configurar el Proxy, abra el archivo wgetrc con su editor de texto favorito y añada las siguientes líneas:

https_proxy = http://proxy.example.com:8080
http_proxy = http://proxy.example.com:8080
ftp_proxy = http://proxy.example.com:8080

Para proxies autenticados, utilice la siguiente sintaxis:

https_proxy = http://username:[email protected]:8080
http_proxy = http://username:[email protected]:8080
ftp_proxy = http://username:[email protected]:8080

Reemplace proxy.example.com:8080 y username:password con la dirección, el puerto y las credenciales de autorización de su servidor Proxy. Guarde el archivo y cierre el editor. A partir de ahora, todas las solicitudes de Wget realizadas por cualquier usuario de su sistema utilizarán el servidor Proxy especificado.

3. Configure los Proxies para el usuario actual actualizando el archivo ~/.wgetrc

Wget también le permite cambiar las configuraciones de Proxy solo para el usuario actual. Esto puede ser útil si se encuentra en una situación en la que los detalles del Proxy necesitan información de autenticación específica para cada usuario.

Para configurar el Proxy, debe crear/modificar el archivo ~/.wgetrc. Se trata de un archivo wgetrc específico del usuario que se encuentra en su directorio de inicio (~/). Almacena configuraciones que solo afectan al usuario actual. Es posible que el archivo ~/.wgetrc no exista de forma predeterminada, especialmente en nuevas instalaciones de Linux o cuentas de usuario, ya que el archivo se crea normalmente cuando un usuario necesita personalizar la configuración de Wget específica para su cuenta. Si el archivo no existe, puede crearlo.

Una vez que tenga el archivo ~/.wgetrc, ábralo en su editor de texto favorito y añada las siguientes líneas:

https_proxy = http://proxy.example.com:8080
http_proxy = http://proxy.example.com:8080
ftp_proxy = http://proxy.example.com:8080

Una vez más, recuerde sustituir proxy.example.com:8080 por sus datos específicos. Este método solo afecta a las solicitudes de Wget realizadas por el usuario actual. Si cambia a otro usuario en la misma máquina, esta configuración no se aplicará.

4. Configurar el Proxy para la instancia actual del terminal utilizando el indicador -e

Si no desea configurar el Proxy a nivel del sistema o de Wget, puede configurarlo directamente al ejecutar el comando Wget. Este método le permite utilizar diferentes configuraciones de Proxy para comandos Wget individuales, lo que le ofrece una mayor flexibilidad.

Para especificar la configuración del Proxy para una sola solicitud Wget, utilice la siguiente sintaxis:

# Proxy http
wget -e use_proxy=yes -e http_proxy=http://proxy_address:proxy_port URL
# Proxy https
wget -e use_proxy=yes -e https_proxy=http://proxy_address:proxy_port URL

En este código, URL es la URL que desea que Wget recupere (por ejemplo, www.google.com).

Para proxies autenticados, puede utilizar la sintaxis http://username:password@dirección_proxy:puerto_proxy para especificar el Proxy, tal y como se ha explicado en la sección anterior.

Este método le permite configurar un Proxy para una sola solicitud sin afectar a otras solicitudes, sesiones de terminal o usuarios.

Uso de Wget

Afortunadamente, usar Wget es sencillo. La sintaxis general de Wget es wget [opciones] [url], donde primero se especifican los argumentos opcionales (es decir, [opciones]), como el -e use_proxy=yes que ha aprendido anteriormente, seguido de la [url] que desea recuperar. Puede ser un archivo multimedia, como un documento o incluso una página web.

Dado que la primera parte es opcional, puede recuperar un recurso web especificando wget [url]. Por ejemplo, al llamar a wget http://example.com/file.pdf se recupera el archivo y se descarga en su máquina local.

También puede descargar un archivo especificando el nombre que se utilizará al guardarlo en el disco. Para ello, utilice el argumento --output-document:

 wget --output-document=image.jpg https://httpbin.org/image/jpeg

Wget también le permite agrupar sus descargas y descargar desde varias URL con un solo comando. Para ello, debe crear un archivo y pegar sus URL, cada una en su propia línea. Después de hacerlo, puede ejecutar el siguiente comando:

wget ‐‐input list-of-file-urls.txt

Nota: si utiliza el método 4 para especificar su Proxy, debe añadir -e use_proxy=yes -e http_proxy=http://proxy_address:proxy_port a los comandos anteriores para que funcionen con un Proxy. Las opciones 1, 2 y 3 funcionarán tal cual, ya que el Proxy ya está configurado.

Conclusión

En este artículo, ha aprendido cuatro métodos diferentes para utilizar Wget con un Proxy y las ventajas de hacerlo. Puede seleccionar el método más adecuado en función de sus preferencias para aplicar Proxy en todo el sistema, a todos los usuarios, a un usuario específico o a una sola solicitud de Wget.

Aunque el uso de Wget con un Proxy ofrece numerosas ventajas, es esencial elegir los servicios de Proxy adecuados para maximizar el rendimiento y la fiabilidad. Bright Data es una plataforma de datos web que ayuda a las empresas a recopilar grandes cantidades de datos estructurados de la web. Al utilizar sus soluciones de Proxy, puede mejorar su experiencia con Wget y reducir el número de solicitudes fallidas, lo que garantiza una mejor recuperación de la información de Internet.

Tanto si es una empresa emergente como una gran empresa, Bright Data le ayuda a extraer datos de sitios web y recopilar datos utilizando sus soluciones de Proxy y herramientas personalizadas, como Web Scraper API y Web Unlocker. Explore los proxies de centro de datos, las opciones de servidores proxy y los precios de Bright Data para encontrar la solución que mejor se adapte a sus necesidades de red de proxies.