Wget
| Fiche express | |
|---|---|
| Domaine | Téléchargement HTTP/HTTPS/FTP en ligne de commande |
| Commande | wget
|
| Contexte | Récupération de fichiers, mirroring de sites/répertoires, reprise de téléchargement interrompu |
| Options clés | -c (reprise) · -r/--mirror (récursif) · --limit-rate
|
wget télécharge des fichiers via HTTP, HTTPS ou FTP en ligne de commande, sans interaction. Il gère nativement la reprise de téléchargement, le mirroring récursif d'un site ou d'un répertoire, l'authentification et le passage par un proxy — ce qui en fait un outil de choix pour les scripts et les tâches non interactives, là où un navigateur ne convient pas.
Téléchargement de base
wget http://example.com/fichier.tgz # télécharge dans le répertoire courant
wget -O sortie.tgz http://example.com/f.tgz # renomme le fichier de sortie
wget -q http://example.com/fichier.tgz # mode silencieux (pas de barre de progression)
wget -c http://example.com/gros-fichier.iso # reprend un téléchargement interrompu
-c (--continue) est essentiel sur les gros fichiers : si le
téléchargement s'arrête, il repart de l'octet déjà reçu plutôt que de tout retélécharger.
Certificat SSL invalide
Pour récupérer un fichier sur un site en HTTPS sans vérifier le certificat (à réserver aux sources de confiance, jamais en production sur une source non maîtrisée) :
wget --no-check-certificate https://exemple.tld/fichier.tar.gz
Limitation de débit
Pour éviter de saturer la bande passante d'un lien partagé :
wget --limit-rate=200k http://example.com/fichier.iso
Authentification
wget --user=alice --password=secret http://example.com/prive/fichier.tgz # HTTP basic auth
wget ftp://alice:secret@ftp.example.com/fichier.tgz # FTP avec identifiants dans l'URL
Passer par un proxy
export http_proxy="http://proxy.exemple.tld:8080"
wget http://www.exemple.tld/fichier.tgz
# proxy avec authentification
export http_proxy="http://utilisateur:motdepasse@proxy.exemple.tld:3128"
unset http_proxy # ne pas oublier de désactiver le proxy une fois terminé
Miroir d'un site ou d'un répertoire
Pour aspirer un site complet (pages, images, CSS, liens réécrits pour la navigation locale) :
wget --mirror --convert-links --page-requisites --no-parent http://exemple.tld/
Pour récupérer un répertoire de fichiers (dépôt, archive) sans remonter à l'arborescence parente, en aplatissant la structure de dossiers :
wget -nH --cut-dirs=6 -r -np http://exemple.tld/repo/distro/x86_64/8/
-nH (pas de dossier nommé d'après le host), --cut-dirs=N (ignore les
N premiers niveaux de répertoire de l'URL), -r (récursif), -np
(--no-parent, ne remonte jamais au-dessus du répertoire de départ).