El comando wget es una de las mejores formas de transferir archivos desde un servidor remoto a una máquina local sin una GUI. Utilizo esta herramienta constantemente en servidores Linux y nunca deja de extraer los archivos que necesito. A menos que esté detrás de un proxy. Cuando ese sea el caso, si simplemente emite el comando wget estándar, recibirá errores y el archivo en cuestión no se descargará.
¿A qué te dedicas?
Afortunadamente, los desarrolladores de wget consideraron esto e incorporaron las opciones necesarias para usar la herramienta cuando están detrás de un proxy.
Podría pensar que es tan simple como emitir un comando como:
wget --proxy=PROXY FILE
Donde PROXY es el servidor proxy detrás de su máquina, y FILE es el nombre del archivo remoto para descargar. No es exactamente así como funciona esto. No temas, te voy a mostrar cómo hacerlo posible.
Lo que necesitarás
- Un servidor o escritorio Linux con wget instalado
- Un usuario con privilegios de sudo
Cómo configurar wget para un proxy
Para permitir wget detrás de un proxy, debe editar un archivo de configuración y agregar las direcciones necesarias. La mejor forma de hacerlo es a través del archivo de configuración global de wget. Para abrir el archivo de configuración para editarlo, ejecute el comando:
sudo nano /etc/wgetrc
En ese archivo, encontrará tres líneas:
#https_proxy = http://proxy.yoyodyne.com:18023/ #http_proxy = http://proxy.yoyodyne.com:18023/ #ftp_proxy = http://proxy.yoyodyne.com:18023/
Deberá descomentar (eliminar el carácter #) cada línea necesaria para su proxy. Si está detrás de proxies HTTP y HTTPS, configuraría esas líneas como:
https_proxy = HTTPSPROXY:PORT http_proxy = HTTPPROXY:PORT
Donde HTTPSPROXY es su dirección de servidor proxy HTTPS, HTTPPROXY es su dirección de proxy HTTP y PORT es el puerto requerido para su proxy. Guarde y cierre el archivo.
Puede haber una situación en la que no desee que todos los usuarios puedan ir más allá del proxy. Para eso, puede configurar las variables de proxy en el archivo .bashrc de un usuario específico. Para eso, abriría el archivo para editarlo con el comando:
sudo nano /home/USER/.bashrc
Donde USER es el nombre de usuario.
En la parte inferior del archivo, agregue lo siguiente:
export http_proxy=HTTPPROXY:PORT export https_proxy=HTTPSPROXY:PORT export ftp_proxy=FTPPROXY:PORT
Dónde:
- HTTPSPROXY es la dirección de su servidor proxy HTTPS
- HTTPPROXY es su dirección de proxy HTTP
- FTPPROXY es su proxy FTP
- PORT es el puerto requerido para su proxy
Guarde y cierre el archivo.
Finalmente, si su proxy requiere autenticación de usuario, las líneas de configuración se verían así:
export http_proxy="http://USERNAME:PASSWORD@HTTPPROXY:PORT" export https_proxy="http://USERNAME:PASSWORD@HTTPSPROXY:PORT" export ftp_proxy="http://USERNAME:PASSWORD@FTPPROXY:PORT"
Dónde:
- USERNAME y PASSWORD son las credenciales utilizadas para la autenticación de proxy
- HTTPSPROXY es la dirección de su servidor proxy HTTPS
- HTTPPROXY es su dirección de proxy HTTP
- FTPPROXY es su proxy FTP
- PORT es el puerto requerido para su proxy
En este punto, debería poder usar wget, en el método habitual, sin que el proxy le impida descargar el archivo.