Cómo instalar y utilizar Wget en Windows

Cómo instalar y usar Wget en Windows

Henry
Henry Herramientas

Creo haberte mencionado que me gustan los programas pequeños, funcionales y elegantes [lo que sea que signifique elegante en este contexto]. Hoy vamos a ver como usar uno de esos programas que fácilmente se vuelven indispensables cuando le encuentras un uso práctico. ¡Vamos! que te resuelven un problema o te "agrega valor" [como dicen los martketing boys].

Estamos hablando del venerable GNU Wget. 

¿Qué es Wget?

GNU Wget es un programa liberado bajo una licencia Open Source y que se encuentra patrocinado por la Free Software Foundation. A través de este programa es posible ejecutar descargas no interactivas de archivos desde la Web. GNU Wget tiene soporte para los siguiente protocolos:

  • HTTP
  • HTTPS
  • FTP

Y también funciona cuando tenemos un proxy en el medio. 

GNU Wget ha sido especialmente diseñado para trabajar con conexiones de red lentas o inestables. Esto significa que:

  • Si una descarga falla debido a un problema de red, Wget seguirá reintentando
  • Si una descarga falla debido a un problema de red, Wget seguirá intentándolo hasta que se recupere el archivo completo.  
  • Si el servidor soporta regetting, Wget indicará al servidor que continúe la
    descarga desde donde la dejó.

¿Para qué se utiliza Wget?

Como su cometido principal es la descarga de archivos desde Internet, Wget se utiliza para, por ejemplo, descargar sitios Web enteros, lo que te permite navegarlos offline, o hacer un respaldo.

También podés automatizar descargas de un servidor FTP para hacer un respaldo, o implementar algún rústico, pero funcional, sistema de monitoreo de archivos o páginas remotas.

Cómo instalar Wget en Windows

Si utilizas Linux podes instalarlo fácilmente. Dependiendo del sabor que utilices, por ejemplo, para Ubuntu:

sudo apt-get install wget

En CentOS

sudo yum install wget

En el caso de macOS podés instarlo utilizando Homebrew:

brew install wget

Por defecto GNU Wget no viene con Windows, pero existen versiones especificas de Wget que vas a poder instalar.

En esta ocasión vamos a utilizar la versión desarrollada por Jernej Simončič.

Vamos a descargar la última versión disponible para 64-bit. Al momento de escribir esto, la última versión es: 1.21.1, que parece incorporar algunas funcionalidades interesantes como ser soporte para descarga de archivos mayores a 2GB [en realidad es un fix a un error con archivos > 2GB]

Wget en Windows

[https://eternallybored.org/misc/wget/]

Los binarios son compilados estáticamente, esto significa que wget.exe no requiere ningún otro archivo para funcionar.

|Observación: algunos antivirus puede llegar a reconocer la versión wget-1.21.1-win32.zip como "peligrosa", pero no es así. Parece ser que quién dispara esa alerta es el archivo wget.exe.debug|

Para usarla desde la consola/terminal de Windows [λCmder por supuesto] tenemos que incluir el ejecutable en una variable de entorno. Si queres resolver ese tema de forma rápida y no andar lidiando con la no muy amigable UI de Windows, te recomendamos usar Rapid Environment Editor, quizás el mejor IDE [¿El único?] para gestionar la variables de ambiente de Windows. 

Ahora estamos listos para pasar a la acción.

Ejemplos de cómo usar Wget

Cómo siempre, el uso depende del problema que necesites resolver. Si tenes que hacer algo que requiera descargar un archivo, Wget puede ser una muy buena opción.

Vamos a hacer el siguiente ejercicio: tomemos algunos de los ejemplos que se encuentran listados en el sitio Hostinger Tutorials, específicamente el siguiente artículo: What is the Wget Command and How to Use It (12 Examples Included) [Hostinger: te regalamos un rel follow ;)]

Trataremos de replicarlo con la versión Wget de Windows. ¡Empecemos!

Usar Wget para descargar archivos individuales

El ejemplo básico. Si esto no funciona con la versión de Wget de Windows, bajamos la cortina y apagamos la luz.

Descargar el archivo latest.zip disponible en el dominio https://wordpress.org/

Wget en Windows

Test 1 ---------- PASS!

Wget para descargar varios archivos

Este ejemplo está muy simpático. Se trata de descargar varios archivos de forma simultanea [¿descargas secuenciales o paralelas?]  Para eso, Wget toma desde un archivo las URL a partir de las cuales va a hacer las descargas. 

En el artículo de Hostinger crean un archivo examples.txt con las siguientes URL:

https://wordpress.org/latest.zip

https://downloads.joomla.org/cms/joomla3/3-8-5/Joomla_3-8-5-Stable-Full_Package.zip

https://ftp.drupal.org/files/projects/drupal-8.4.5.zip
Wget en Windows

Test 2 ---------- PASS!

Uso del comando Wget para obtener archivos con diferentes nombres

El objetivo de este ejemplo es usar el parámetro -O que permite asignar un nombre diferente al archivo descargado.

Wget en Windows

Test 3 ---------- PASS!

Uso del comando Wget para guardar archivos en el directorio especificado

Similar al ejemplo anterior pero en este caso usamos la opción -P para decirle a Wget el directorio en donde queremos persista el archivo a descargar. 

Wget en Windows

Test 4 ---------- PASS!


Uso del comando Wget para limitar la velocidad de descarga

Este ejemplo es interesante. Utiliza la opción --limit-rate para limitar el ancho de banda consumido por Wget al momento de hacer la descarga. Veamos si funciona con la versión de Windows. 

Wget en Windows

Test 5 ---------- PASS!

Uso del comando Wget para descargar en segundo plano

Cuando necesitamos descargar algún archivo de tamaño considerable, Wget te permite hacer la descarga en segundo plano, a través de la opción -b, luego hacer un cat para ver el contenido del archivo log que genera Wget.

Wget en Windows

Test 6 ---------- FAIL!

Este ejemplo no fue completado con éxito. El problema es que el archivo wget-log que genera Wget no tiene contenido. Lo probamos en CentOS 7 y efectivamente el archivo log tiene contenido. ¿Quizás un bug?

A modo de resumen sobre Wget en Windows

Como es habitual: solo "rasgamos" la superficie de lo que es posible hacer con Wget, porque no queremos agotar este tema en un solo artículo, así en un futuro podemos incluir algunos ejemplos más.

Podés suscribirte a nuestro RSS (sí, aún se utiliza) o seguirnos en Twitter, en donde tenemos menos seguidores que seguidos (la famosa relación que mide la popularidad o nivel de influencia). 

No nos vamos sin antes agradecer a los creadores de Wget. Listar a todos los que colaboran en el proyecto es posible pero nos da pereza, así que vamos a mencionar a los que iniciaron el proyecto.

El proyecto GNU Wget fue creado por Hrvoje Nikšić. Podés visitar su perfil de Github presionando sobre la imagen que dejamos más abajo 👇 [muy buen avatar por cierto]. También te recomendamos su blog, en donde postea muy buenos artículos: https://morestina.net/blog/

 

Wget en Windows

En este archivo podes encontrar a los otros desarrolladores que han colaborado con la versión oficial de Wget: autores.

La versión de Wget de Windows que usamos en este artículo fue desarrollada y es mantenida por Jernej Simončič. Podés seguirlo en su cuenta de Twitter: @jernej__s.

A todos ellos: ¡gracias!

¡Nos vemos! Peace. ✌

 

 

 





/ Súmate al boletín. No es gran cosa, pero es gratis 👇 /