Comando WGET
Comando WGET
Comando WGET
El comando wget es una popular utilidad de línea de comandos de Unix / Linux para obtener el
contenido de la web. Es de uso gratuito y proporciona una forma no interactiva de descargar archivos
de la web. El comando wget es compatible con los protocolos HTTPS, HTTP y FTP listos para usar.
Además, también puede usar proxies HTTP con él.
index.html [ <=>
] 131.96K --.-KB/s in 0.04s
2020-02-23 10:45:52 (2.89 MB/s) - ‘index.html’ saved [135126]
root@trends:~#
node-v12.16.1-linux-x64.tar.xz 100%
[==================================================================
=========================>] 13.92M --.-KB/s in 0.05s
node-v12.16.1-linux-x64.tar.xz.1 100%
[==================================================================
=========================>] 13.92M 501KB/s in 28s
index.html.6 100%
[==================================================================
=========================>] 600 --.-KB/s in 0s
root@trends:~#
Genial, ¿no es así?
Encabezado de host
Cuando una aplicación aún está en desarrollo, es posible que no tenga una URL adecuada para
probarla. O bien, es posible que desee probar una instancia HTTP individual utilizando IP, pero debe
proporcionar el encabezado del host para que la aplicación funcione correctamente. En esta situación,
--header sería útil.
Tomemos un ejemplo de prueba http://10.10.10.1 con el encabezado de host como application.com
wget --header="Host: application.com" http://10.10.10.1
No solo host, sino que puede inyectar cualquier encabezado que desee.
Conectarse usando Proxy
Si está trabajando en un entorno DMZ, es posible que no tenga acceso a sitios de Internet. Pero puede
aprovechar el proxy para conectarse.
wget -e use_proxy=yes http_proxy=$PROXYHOST:PORT
http://externalsite.com
No olvide actualizar la variable $ PROXYHOST: PORT con las reales.
Opciones varias
Si la descarga se interrumpe y quieres continuarla a partir de donde que se
quedó, puedes utilizar la opción -c
wget -i -c http://ejemplo.org/directorio/archivo.7z
wget -i -c descargar.txt
Ejemplos avanzados
wget www.linuxtotal.com.mx
Puedes descargar toda una página completa, wget no está limitado a solo descargas de archivos. Sitios completos
pueden descargarse también.
wget -p www.linuxtotal.com.mx
Lo mismo que lo anterior pero con esta opción p descarga además todos los elementos extras necesarios de la página
como hojas de estilos, imágenes en línea, etc.
Con la opción l se aumenta el nivel de recursividad hasta el número indicado, también es posible usar 'inf' como valor
de recursividad infinito.
(o también)
wget -k -r http://www.sitio.com/
Por defecto, los enlaces dentro del sitio apuntan a la dirección del dominio completo. Si deseas descargar el sitio
recursivamente y después estudiarlo fuera de línea (off line) usa la opción convert-links que los convertirá en enlaces
locales, apuntando a las páginas dentro del sitio descargado.
(o también)
wget -m http://www.linuxtotal.com.mx/
De este modo obtienes una copia (un espejo) completa del sitio. La opción --mirror es igual a usar las opciones -r -l
inf -N que indica recursividad a nivel infinito y obtienendo la marca de tiempo original de cada archivo descargado
(opción -N).
(o tambíen)
wget -m -k -E http://www.linuxtotal.com.mx
Si descargas el sitio completo para verlo fuera de línea (off line) es posible que varios archivos descargados no se
abran, debido a extensiones como .cgi, .asp o .php, es entonces posible indicarle a wget con la opción E o --html-
extension que convierta todos los archivos a extensión .html.
La opción H (span hosts) expande la recursividad a los sitios desde donde se enlace el original. Este comando
descargará el sitio con una recursividad de 3 niveles (-r -l3), conviertiendo los enlaces a locales para examinarlo off
line (-k), convierte todo a extensiones .html (-E), descarga completamente imágenes y demás elementos de cada
página (-p) y además descarga la página externa de los enlaces que apunten fuera del sitio (-H).
Este tipo de descargas, dependiendo del sitio, puede llenar todo un disco duro!!!!, asi que úsalo a discresión.
[-r -l1] recursivo en solo un nivel, solo buscará un nivel en cada subdirectorio que encuentre por sitio.
[-H] si dentro del sitio encuentra un enlace externo, que lo siga, ya que posiblemente lleve a otro sitio de descarga
de múscia.
[-t1] -t es igual --tries, solo hará un intento de conexión, si no lo logra continua al siguiente sitio.
[-nd] indica no crear subdirectorios para cada archivo descargado, es decir, todo nos lo deja en el mismo lugar.
[-N] conserva la fecha y hora (timestamp) del archivo original que se descargue, de otro modo pondría la fecha y
hora de nuestro sistema.
[-np] no parent, no seguir enlaces a directorios superiores, solo del actual y uno hacía abajo, por -r -l1
[-A.mp3] -A indica a wget el tipo de archivo a descargar solamente, en este caso solo "mp3".
[-erobots=off] esto evita que wget ignore los archivos 'robots.txt' que pudiera haber, ya que puede ser que dentro de
estos archivos haya indicaciones de que subdirectorios los buscadores no deben hurgar (incluyendo a wget). Con esto
lo evitamos y buscamos en todo el nivel.
[-i sitiosmp3.txt] el archivo con la lista (hecha a tu gusto, con unos cuantos o decenas de sitios de música) de los
sitios desde donde buscar "mp3" y descargarlos.