Menu Fermer

Comment utiliser wget avec 14 exemples

Wget est un utilitaire de ligne de commande GNU gratuit utilisé pour télécharger des fichiers depuis Internet. Il récupère les fichiers à l’aide des protocoles HTTP, HTTPS et FTP.

Il sert d’outil pour maintenir des connexions réseau instables et lentes. Si un problème de réseau survient pendant un téléchargement, ce logiciel utile peut reprendre la récupération des fichiers sans recommencer à zéro.

Un autre aspect important est sa capacité de téléchargements récursifs, avec lesquels il créé un miroir des sites Web. Il transfère des parties d’un site Web en suivant les liens et la structure des répertoires, créant ainsi des versions locales des pages Web.

La commande wget est également très flexible et peut être utilisée dans les terminaux, les scripts et les tâches cron. Pendant le téléchargement, l’utilisateur n’a pas besoin d’être actif ni connecté. Comme wget n’est pas interactif, il peut s’exécuter indépendamment en arrière-plan.

Lisez cet article pour apprendre à utiliser certaines des commandes wget les plus courantes.

Comment utiliser wget avec 14 exemples

Commande wget introuvable

Si la sortie affiche la commande wget introuvable, vous devez télécharger et installer l’outil manuellement. Vous trouverez ci-dessous les instructions d’installation pour Ubuntu/Debian, CentOS et Windows.

Comment installer wget

Comment Installer wget sur Ubuntu/Debian ?

Pour installer wget sur les distributions Ubuntu ou Debian, utilisez la commande :

sudo apt-get install wget

Comment installer wget sur CentOS/Fedora ?

Pour installer wget sur CentOS ou Fedora, tapez la commande suivante :

sudo yum install wget

Comment installer wget sur Windows

Les outils GNU dont wget sont disponibles sur Windows.
Suivez ce tutoriel pour apprendre à télécharger et installer wget sur Windows :

Comment utiliser wget

Voici la syntaxe de la commande wget :

wget [option][URL]

Comme souvent, la commande offre beaucoup d’options.

14 exemples d’utilisation de wget

Télécharger le fichier à partir du Web

La syntaxe pour télécharger un fichier est la suivante :

wget [URL]

Par exemple pour télécharger les sources du noyau Linux avec wget :

wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.17.7.tar.xz

Par défaut, la commande affiche les informations de connexion et le code HTTP de la réponse de la requête HTTP.
Puis une barre de progression de l’avancement du téléchargement avec l’ETA et la vitesse de téléchargement.
Enfin le fichier est enregistré dans le répertoire courant.

Télécharger le fichier à partir du Web

Télécharger le fichier et enregistrer sous un nom spécifique

Pour télécharger un fichier et l’enregistrer sous un nom spécifié exécuter :

wget -O [file_name] [URL]

Par exemple pour télécharger le binaire de nginx sous le nom nginx.tar.gz :

wget -O nginx.tar.gz https://nginx.org/download/nginx-1.18.0.tar.gz
Télécharger le fichier et enregistrer sous un nom spécifique et rediriger résultat wget vers un fichier

A noter qu’il est possible de spécifier un dossier, par exemple pour télécharger dans /tmp :

wget -O /tmp/nginx.tar.gz https://nginx.org/download/nginx-1.18.0.tar.gz

Télécharger le fichier dans un répertoire spécifique

L’option -P permet de spécifier le répertoire de téléchargement :

wget -P [repertoire] [URL]

Par exemple pour télécharger les pilotes NVIDIA TESLA Linux dans le répertoire /tmp :

wget -P /tmp https://fr.download.nvidia.com/XFree86/Linux-x86_64/510.68.02/NVIDIA-Linux-x86_64-510.68.02.run

Définir la vitesse de téléchargement

Vous pouvez définir la vitesse de téléchargement lors du téléchargement d’un gros fichier, donc il n’utilise pas la bande passante complète disponible.
La vitesse de téléchargement est définie dans les kilo-kilobytes (k) et les mégaoctets (M). Utilisez la commande:

wget --limit-rate [wanted_speed] [URL]

Par exemple, si vous installez les pilotes NVIDIA TESLA sur Linux et que vous souhaitez limiter la vitesse de téléchargement à 1 mégaoctet, utiliserait la commande:

wget --limit-rate 1m https://fr.download.nvidia.com/XFree86/Linux-x86_64/510.68.02/NVIDIA-Linux-x86_64-510.68.02.run

Reprendre le téléchargement après une interruption

Au lieu d’avoir votre téléchargement de repartir de zéro, wget peut reprendre le téléchargement où il s’est arrêté avant l’interruption.
Il s’agit d’une fonctionnalité utile s’il y a une perte de connexion lors du téléchargement d’un fichier.
Cela se fait à l’aide de l’option -i :

wget -c [URL]

Par exemple, vous souhaiterez peut-être télécharger le JDK sur Linux en perdant soudainement une connexion Internet lors du téléchargement du fichier d’installation.
Pour continuer à télécharger, saisissez la commande :

wget -c https://download.oracle.com/otn/java/jdk/8u202-b08/1961070e4c9b4e26a04e7f5a083f551e/jdk-8u202-linux-x64.tar.gz

Télécharger plusieurs fichiers

wget permet de télécharger plusieurs fichiers en même temps en utilisant la commande :

wget -i [file_name]
Créer avec un fichier de liste de fichiers  télécharger avec wget
  • Tout d’abord, créez et ouvrez un fichier sous le nom Liste-URLs.txt (ou un nom de votre choix), à l’aide d’un éditeur de texte. Dans ce cas, nous avons utilisé Vi ou Nano :
vim Liste-URLs.txt
  • Une fois dans l’éditeur, ajoutez les URL des packages que vous souhaitez télécharger, une par ligne
  • Enregistrez et quittez le fichier
  • Exécutez la commande wget suivante dans la fenêtre du terminal :
wget -i Liste-URLs.txt
Télécharger plusieurs fichiers avec wget

Télécharger la page Web (page Web miroir)

Avec wget, vous pouvez télécharger un site Web entier depuis Internet, en utilisant l’option -m.
Il invite wget pour créer un miroir de la page Web spécifiée. La commande de base pour le faire est:

wget -m [URL]

Par exemple, si vous souhaitez télécharger tout le contenu du site malekal.com :

wget -m https://www.malekal.com

Quelques options utiles :

  • –convert-links : modifie les liens à l’intérieur de chaque page téléchargée afin qu’elles se pointent les unes aux autres, pas sur le Web
  • –page-requisites : télécharge des choses comme des feuilles de style, donc les pages seront correctes hors ligne
  • –no-parent : empêche le téléchargement de sites parents. Donc, si vous souhaitez télécharger http://exemple.com/sousexemple, vous ne vous retrouverez pas avec la page parent

Télécharger un répertoire entier (récursif)

Pour télécharger toute une arborescence complète (fichiers + répertoires), utilisez l’option -r.
Celle-ci permet de télécharger en récursif.

wget -r ftp://exemple.com/repertoire

Télécharger par FTP

Pour télécharger via FTP, saisissez le nom d’utilisateur et le mot de passe du serveur FTP, suivi de l’adresse FTP :

wget --ftp-user=[ftp_username] --ftp-password=[ftp_password] ftp://...

Par exemple :

wget [email protected] ftp://123.116.43.2

Téléchargement en arrière-plan

Vous pouvez télécharger en arrière-plan, une fonctionnalité pratique lorsque vous traitez avec un grand fichier :

wget -b [URL]

Vous pouvez vérifier l’état du téléchargement avec la commande :

tail -f wget -log

Pour télécharger un paquet RPM arrière-plan, saisissez :

wget -b http:/www.siteinternet.com/fichier.rpm

Augmenter les tentatives de téléchargement

Si vous voulez que wget continue d’essayer de télécharger même s’il y a une erreur 404, utilisez l’option -t ou –tries :

wget --tries=[number_of_tries] [URL]

Par exemple, ici cela essaiera de télécharger 10 fois ; vous pouvez utiliser le numéro de votre choix.

wget -t 10 http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo

Pour relancer le téléchargement indéfiniment, indiquez inf :

wget --tries=inf http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo

Ignorer la vérification du certificat SSL / TLS

Par défaut, wget vérifie si le serveur a un certificat SSL / TLS valide. S’il n’identifie pas de certificat authentique, il refuse de télécharger.

L’option –no-check-certificat est utilisée pour éviter les autorités de certificat qui vérifient un certificat de serveur. Cependant, utilisez-le uniquement si vous êtes sûr de la crédibilité du site Web ou si vous ne vous inquiétez pas des problèmes de sécurité que cela peut causer.

wget --no-check-certificate [URL]
wget --no-check-certificate http://enteratonerisk.com

Modifier le UserAgent

Lors du téléchargement d’une page Web, WGET émule essentiellement un navigateur. Dans certains cas, la sortie peut dire que vous n’avez pas la permission d’accéder au serveur, ou que la connexion est interdite. Cela peut être dû à un site Web bloquant les navigateurs clients qui ont un «agent utilisateur» spécifique.

«User-Agent» est un champ d’en-tête que le navigateur envoie au serveur à laquelle il souhaite accéder. Par conséquent, pour télécharger à partir d’un serveur qui refuse de se connecter, essayez de modifier l’agent utilisateur.

wget --user-agent="User Agent Here" "[URL]"

ou

wget -U "User Agent Here" "[URL]"

Par exemple pour se connecter au site malekal.com avec le User Agent de Chrome version 98 :

wget --user-agent="Mozilla/5.0 (X11; CrOS x86_64 14388.61.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.107 Safari/537.36" "https://www.malekal.com"

Ce site fournit une liste complète des user agent les plus répandus.

Ajouter un proxy ou socks à wget

  • Editez le fichier $HOME/.wgetrc
  • Puis ajoutez les lignes suivantes selon le protocole en saisissant l’adresse du proxy et le port :
    • Pour un proxy HTTP :
http_proxy=http://[adresse_serveur_proxy]:[port]
https_proxy=http://[adresse_serveur_proxy]:[port]
ftp_proxy=http://[adresse_serveur_proxy]:[port]
  • Pour un SOCKS v4 :
http_proxy=socks4://[adresse_serveur_proxy]:[port]
https_proxy=socks4://[adresse_serveur_proxy]:[port]
ftp_proxy=socks4://[adresse_serveur_proxy]:[port]
  • Pour un SOCKS v5 :
http_proxy=socks5://[adresse_serveur_proxy]:[port]
https_proxy=socks5://[adresse_serveur_proxy]:[port]
ftp_proxy=socks5://[adresse_serveur_proxy]:[port]
  • Enfin utilisez la commande wget normalement
Ajouter un proxy ou socks à wget