table of contents
- Tumbleweed 4.28.0-1.1
- Leap-16.0
- Leap-15.6
| WGET(1) | GNU Wget | WGET(1) |
NOM¶
Wget - L'outil de téléchargement réseau non interactif.
SYNOPSIS¶
wget [option]... [URL]...
DESCRIPTION¶
GNU Wget est un utilitaire libre pour le téléchargement non interactif de fichiers sur le Web. Il prend en charge les protocoles HTTP, HTTPS, et FTP, ainsi que le téléchargement au travers des mandataires HTTP.
Wget is non-interactive, meaning that it can work in the background, while the user is not logged on. This allows you to start a retrieval and disconnect from the system, letting Wget finish the work. By contrast, most of the Web browsers require constant user's presence, which can be a great hindrance when transferring a lot of data.
wget peut suivre les liens des pages HTML et XHTML, et CSS, pour créer des copies locales de sites web distants, en récréant complètement la structure du site original. Cela est parfois désigné sous le nom de « téléchargement récursif ». En faisant cela, wget respecte le standard d'exclusion de robots (/robots.txt). wget peut aussi être chargé de convertir les liens dans les fichiers téléchargés pour pointer sur des fichiers locaux, pour une consultation hors-ligne.
wget a été conçu pour être robuste en dépit des connexions réseaux lentes ou instables ; si un téléchargement échoue suite à un problème réseau, il réessayera jusqu'à ce que l'intégralité du fichier soit récupérée. Si le serveur gère la reprise, il lui demandera de reprendre là où le téléchargement s'est interrompu.
OPTIONS¶
Syntaxe d'option¶
Comme wget utilise GNU getopt pour traiter les arguments de la ligne de commande, chaque option a une forme longue en plus de la forme courte. Les options longues sont plus pratiques à retenir, mais prennent du temps à taper. Vous êtes libre de mélanger différentes formes d'options, ou d'indiquer les options après les arguments de la ligne de commande. Ainsi, vous pouvez écrire :
wget -r --tries=10 http://fly.srk.fer.hr/ -o log
L'espace entre l'option acceptant un argument et l'argument peut être omise. Vous pouvez écrire -olog au lieu de -o log.
Vous pouvez mettre ensemble plusieurs options ne nécessitant pas d'arguments, comme :
wget -drc <URL>
Cela est absolument équivalent à :
wget -d -r -c <URL>
Comme les options peuvent être indiquées après les arguments, vous pouvez les terminer avec --. Ainsi, ce qui suit va essayer de télécharger URL -x, en signalant l'échec à log :
wget -o log -- -x
Les options qui acceptent des listes séparées par des virgules respectent toutes la convention selon laquelle spécifier une liste vide efface sa valeur. Cela peut être utile pour nettoyer les réglages de .wgetrc. Par exemple, si .wgetrc indique "exclude_directories" à /cgi-bin, l'exemple suivant le réinitialisera d'abord, puis lui indiquera d'exclure /~nobody et /~somebody. Vous pouvez aussi effacer les listes dans .wgetrc.
wget -X "" -X /~nobody,/~somebody
La majorité des options qui n'acceptent pas d'arguments sont des options de type booléen, ainsi nommées car leur état peut être capturé avec une variable oui-ou-non (« booléenne »). Par exemple, --follow-ftp indique à wget de suivre les liens FTP de fichiers HTML et, d'un autre coté, --no-glob lui dit de ne pas effectuer le « globbing » de fichiers sur les URL FTP. Une option booléenne peut être affirmative ou négative (commençant par --no). Toutes ces options partagent plusieurs propriétés.
Sauf indication contraire, il est supposé que le comportement par défaut soit l'opposé de ce que l'option réalise. Par exemple, l'existence documentée de --follow-ftp suppose que le comportement par défaut est de ne pas suivre les liens FTP des pages HTML.
Les options affirmatives peuvent être niées en antéposant le --no au nom de l'option ; les options négatives peuvent être niées en ommettant le préfixe --no. Cela peut sembler superflu : si le comportement par défaut d'une option affirmative est de ne pas faire quelque chose, alors pourquoi lui fournir un moyen pour ne pas le faire ? Mais le fichier de démarrage peut en fait changer le comportement par défaut. Par exemple, l'utilisation de "follow_ftp = on" dans .wgetrc fait suivre les liens FTP à wget par défaut, et l'utilisation de --no-follow-ftp est la seule manière de restaurer le comportement par défaut d'origine depuis la ligne de commande.
Options de base pour démarrer¶
- -V
- --version
- Afficher la version de wget.
- -h
- --help
- Print a help message describing all of Wget's command-line options.
- -b
- --background
- Passer en arrière-plan aussitôt après le démarrage. Si aucun fichier de sortie n'est indiqué avec -o, la sortie est redirigée dans wget-log.
- -e commande
- --execute commande
- Exécuter la commande comme faisant partie de .wgetrc. Une commande invoquée ainsi sera exécutée après les commandes dans .wgetrc, par conséquent prévalant sur elles. Si vous avez besoin d'indiquer plus d'une commande dans wgetrc, utilisez plusieurs instances de -e.
Options de journalisation et de fichier d'entrée¶
- -o fichier_journal
- --output-file=fichier_journal
- Enregistrer tous les messages dans fichier_journal. Les messages sont habituellement affichés sur la sortie d'erreur standard.
- -a fichier_journal
- --append-output=fichier_journal
- Ajouter dans fichier_journal. Cela est équivalent à -o, mais ajoute au fichier_journal au lieu d'écraser l'ancien fichier fichier_journal. Si fichier_journal n'existe pas, un nouveau fichier est créé.
- -d
- --debug
- Activer la sortie de débogage, c'est-à-dire des informations importantes pour les développeurs de wget si quelque chose ne fonctionne pas correctement. Votre administrateur système peut avoir choisi de compiler wget sans l'option de débogage, dans ce cas -d ne fonctionnera pas. Remarquez que compiler avec l'option de débogage est toujours sûr, wget compilé sans la prise en charge du débogage n'affichera pas d'informations de débogage, à moins de le demander avec -d.
- -q
- --quiet
- Turn off Wget's output.
- -v
- --verbose
- Activer le mode verbeux, avec toutes les données disponibles. Ce mode est activé par défaut.
- -nv
- --no-verbose
- Désactiver le mode verbeux sans être totalement silencieux (utilisez -q pour cela), signifiant que les messages d'erreur et les informations de base seront encore affichés.
- --report-speed=type
- Bande passante de sortie comme type. La seule valeur acceptée est bits.
- -i fichier
- --input-file=fichier
- Lire les URL depuis un fichier local ou externe. Si - est
indiqué comme fichier, les URL sont lues depuis
l'entrée standard. (Utilisez ./- pour lire à partir
d'un fichier nommé -).
Si cette fonction est utilisée, aucune URL n'a besoin d'être présente sur la ligne de commande. S'il y a des URL à la fois sur la ligne de commande et dans le fichier d'entrée, celles sur la ligne de commande seront les premières à être extraites. Si --force-html n'est pas indiqué, alors le fichier devrait consister en une suite d'URL, une par ligne.
Cependant, si vous indiquez --force-html, le document sera considéré comme html. Dans ce cas, vous pourriez avoir des problèmes avec les liens relatifs, que vous pouvez résoudre en ajoutant « <base href=url> » aux documents ou en indiquant --base=url sur la ligne de commande.
If the file is an external one, the document will be automatically treated as html if the Content-Type matches text/html. Furthermore, the file's location will be implicitly used as base href if none was specified.
Si le fichier est un fichier local, sur les systèmes qui prennent en charge cela, il sera ouvert avec le drapeau "O_NONBLOCK" pour permettre des lectures non bloquantes du fichier. wget tentera de continuer à lire le fichier jusqu'à ce que la fin de ficher soit atteinte (EOF) ou qu'il soit fermé. Cela permet de transférer une liste de fichiers à récupérer, la liste à récupérer étant générée dynamiquement pendant l'exécution du processus. Actuellement, cette fonction n'est pas disponible sur les plateformes Windows.
- --input-metalink=fichier
- Télécharger les fichiers couverts par le fichier Metalink local. Metalink versions 3 et 4 sont pris en charge.
- --keep-badhash
- Keeps downloaded Metalink's files with a bad hash. It appends .badhash to the name of Metalink's files which have a checksum mismatch, except without overwriting existing files.
- --metalink-over-http
- Émettre une requête HTTP HEAD au lieu de GET et extraire les métadonnées Metalink des en-têtes de réponse. Ensuite, il passe au téléchargement de Metalink. Si aucune métadonnée Metalink n'est trouvée, il revient au téléchargement ordinaire HTTP. Cela permet le téléchargement et le traitement des fichiers Content-Type: application/metalink4+xml.
- --metalink-index=numéro
- Set the Metalink application/metalink4+xml metaurl ordinal NUMBER. From 1 to the total number of "application/metalink4+xml" available. Specify 0 or inf to choose the first good one. Metaurls, such as those from a --metalink-over-http, may have been sorted by priority key's value; keep this in mind to choose the right NUMBER.
- --preferred-location
- Définir l'emplacement préféré pour les ressources Metalink. Cela est utile si plusieurs ressources ayant la même priorité sont disponibles.
- --xattr
- Enable use of file system's extended attributes to save the original URL
and the Referer HTTP header value if used.
Gardez à l'esprit que les URL pourraient contenir des informations privées telles que des jetons d'accès ou des identifiants.
- -F
- --force-html
- Lorsque l'entrée lue est un fichier, le forcer à être traité comme un fichier HTML. Cela vous permet de retrouver des liens relatifs de fichiers HTML sur votre disque local, en ajoutant "<base href="url">" à HTML ou en utilisant l'option de la ligne de commande --base.
- -B URL
- --base=URL
- Résoudre les liens relatifs en utilisant URL comme point de
référence, lors de la lecture de liens d'un fichier HTML
spécifié à l'aide de l'option
-i/--input-file (conjointement avec --force-html, ou
lorsque le fichier d'entrée a été
récupéré à distance depuis un serveur le
décrivant comme HTML). Cela est équivalent à la
présence d'un drapeau "BASE" dans
le fichier en entrée, avec URL comme valeur de l'attribut
"href".
Par exemple, si vous indiquez http://machin/truc/a.html pour URL, et que wget lit ../bidule/b.html sur le fichier d'entrée, il sera résolu en http://machin/bidule/b.html.
- --config=FILE
- Indiquer l'emplacement du fichier d'initialisation que vous voulez utiliser à la place de celui ou ceux par défaut. Utiliser --no-config pour désactiver la lecture des fichiers de configuration. Si à la fois --config et --no-config sont donnés, --no-config est ignoré.
- --rejected-log=fichier_journal
- Enregistrer tous les rejets d'URL dans fichier_journal avec des valeurs séparées par des virgules. Les valeurs incluent la raison du rejet, l'URL et l'URL parent dans lequel il a été trouvé.
Options de téléchargement¶
- --bind-address=ADDRESS
- Lors des connexions TCP/IP client, l'attacher à ADDRESS sur la machine locale. ADDRESS peut être indiquée comme un nom d'hôte ou une adresse 1IP. Cette option peut être utile si votre machine est attachée à plusieurs IP.
- --bind-dns-address=ADDRESS
- [seulement avec libcares] Cette adresse surcharge la route pour les requêtes DNS. Si vous avez besoin de contourner les réglages standard de /etc/resolv.conf, cette option avec --dns-servers est votre amie.ADDRESS doit être spécifiée comme une adresse soit IPV4, soit IPV6. wget doit être construit avec libcares pour que cette option soit disponible.
- --dns-servers=ADDRESSES
- [seulement avec libcares] Les adresses données écrasent les adresses du serveur de noms standard, par exemple comme configuré dans /etc/resolv.conf. Les ADDRESSES doivent être spécifiées en adresses IPV4 ou IPV6 séparées par des virgules. wget a besoin d'être construit avec libcares pour que cette option soit disponible.
- -t nombre
- --tries=nombre
- Définir le nombre d'essais à nombre. Spécifier 0 ou inf pour réessayer indéfiniment. Par défaut, la commande réessaie 20 fois, à l'exception des erreurs fatales comme connection refused ou not found (404), qui ne sont pas réessayées.
- -O fichier
- --output-document=fichier
- Les documents ne seront pas écrits dans les fichiers
appropriés, mais seront tous concaténés et
écrits dans fichier. Si - est utilisé comme
fichier, les documents seront écrits sur la sortie standard,
désactivant la conversion de liens. (Utilisez ./- pour
écrire dans un fichier littéralement appelé
-.)
L'utilisation de -O ne signifie pas simplement « utiliser le nom fichier au lieu de celui dans l'URL » ; Cela est similaire à une redirection d'interpréteur : wget -O fichier http://truc est destiné à fonctionner comme wget -O - http://truc > fichier ; fichier sera tronqué immédiatement, et tout le contenu téléchargé sera écrit là.
Pour cette raison, -N (pour le contrôle d'horodatage) n'est pas pris en charge en combinaison avec -O : dans la mesure où fichier est tout le temps nouvellement créé, il aura toujours un horodatage très récent. Un avertissement sera affiché si la combinaison des deux est utilisée.
Similarly, using -r or -p with -O may not work as you expect: Wget won't just download the first file to file and then download the rest to their normal names: all downloaded content will be placed in file. This was disabled in version 1.11, but has been reinstated (with a warning) in 1.11.2, as there are some cases where this behavior can actually have some use.
Une combinaison avec -nc n'est acceptée que si le fichier donné en sortie n'existe pas.
Note that a combination with -k is only permitted when downloading a single document, as in that case it will just convert all relative URIs to external ones; -k makes no sense for multiple URIs when they're all being downloaded to a single file; -k can be used only when the output is a regular file.
- -nc
- --no-clobber
- If a file is downloaded more than once in the same directory, Wget's
behavior depends on a few options, including -nc. In certain cases,
the local file will be clobbered, or overwritten, upon repeated
download. In other cases it will be preserved.
When running Wget without -N, -nc, -r, or -p, downloading the same file in the same directory will result in the original copy of file being preserved and the second copy being named file.1. If that file is downloaded yet again, the third copy will be named file.2, and so on. (This is also the behavior with -nd, even if -r or -p are in effect.) When -nc is specified, this behavior is suppressed, and Wget will refuse to download newer copies of file. Therefore, ""no-clobber"" is actually a misnomer in this mode---it's not clobbering that's prevented (as the numeric suffixes were already preventing clobbering), but rather the multiple version saving that's prevented.
Lorsque wget est lancé avec -r ou -p, mais sans -N, -nd ou -nc, télécharger à nouveau un fichier résultera en ce que la nouvelle copie écrasera simplement la précédente. Ajouter -nc empêchera ce comportement, provoquant plutôt la préservation de la version originale et faisant que les copies plus récentes sur le serveur seront ignorées.
Lors du lancement de wget avec -N, avec ou sans -r ou -p, la décision de télécharger ou non une copie plus récente d'un fichier dépend de l'horodatage local et distant et de la taille du fichier. -nc peut ne pas être spécifié au même moment que -N.
Une combinaison avec -O/--output-document n'est acceptée que si le fichier donné en sortie n'existe pas.
Notez que lorsque -nc est spécifié, les fichiers avec les suffixes .html ou .htm seront chargés depuis le disque local et analysés comme s'ils avaient été récupérés sur le Web.
- --backups=sauvegardes
- Avant d'écrire ou d'écraser un fichier, faire une sauvegarde du fichier existant en ajoutant un suffixe .1 (_1 sur VMS) au nom de fichier. De tels fichiers de sauvegarde sont numérotés .2, .3, et ainsi de suite, jusqu'à sauvegardes (en perdant ce qui vient après).
- --no-netrc
- Ne pas essayer d'obtenir des identifiants du fichier .netrc. Par défaut les identifiants sont recherchés dans le fichier .netrc dans le cas où aucun n'ait été passé sur la ligne de commande et qu'une authentification serait nécessaire.
- -c
- --continue
- Continuer à récupérer un fichier partiellement
téléchargé. Cela est utile lorsque vous voulez finir
un téléchargement commencé lors d'une
précédente instance de wget, ou par un autre
programme. Par exemple :
wget -c ftp://sunsite.doc.ic.ac.uk/ls-lR.Z
S'il y a un fichier nommé ls-lR.Z dans le répertoire actuel, wget supposera qu'il s'agit de la première partie du fichier distant, et demandera au serveur de poursuivre la récupération à partir d'un décalage égal à la longueur du fichier local.
Note that you don't need to specify this option if you just want the current invocation of Wget to retry downloading a file should the connection be lost midway through. This is the default behavior. -c only affects resumption of downloads started prior to this invocation of Wget, and whose local files are still sitting around.
Sans -c, l'exemple précédent devrait juste télécharger le fichier distant dans ls-lR.Z.1, laissant seul le fichier tronqué ls-lR.Z.
Si vous utilisez -c sur un fichier non vide, et que le serveur ne prend pas en charge la reprise du téléchargement, wget relancera le téléchargement depuis le début et écrasera entièrement le fichier existant.
À partir de Wget 1.7, si vous utilisez -c sur un fichier ayant une taille égale à celui sur le serveur, wget refusera de télécharger le fichier et affichera un message explicatif. La même chose arrive lorsque le fichier est plus petit sur le serveur que celui en local (probablement parce qu'il a été modifié sur le serveur depuis votre dernière tentative de téléchargement) -- parce que « continuing » n'est pas assez explicite, aucun téléchargement n'est lancé.
On the other side of the coin, while using -c, any file that's bigger on the server than locally will be considered an incomplete download and only "(length(remote) - length(local))" bytes will be downloaded and tacked onto the end of the local file. This behavior can be desirable in certain cases---for instance, you can use wget -c to download just the new portion that's been appended to a data collection or log file.
However, if the file is bigger on the server because it's been changed, as opposed to just appended to, you'll end up with a garbled file. Wget has no way of verifying that the local file is really a valid prefix of the remote file. You need to be especially careful of this when using -c in conjunction with -r, since every file will be considered as an "incomplete download" candidate.
Another instance where you'll get a garbled file if you try to use -c is if you have a lame HTTP proxy that inserts a "transfer interrupted" string into the local file. In the future a "rollback" option may be added to deal with this case.
Prenez en compte que -c ne fonctionne qu'avec les serveurs FTP et les serveurs HTTP qui prennent en charge l'en-tête "Range".
- --start-pos=OFFSET
- Start downloading at zero-based position OFFSET. Offset may be
expressed in bytes, kilobytes with the `k' suffix, or megabytes with the
`m' suffix, etc.
--start-pos a la priorité sur --continue. Lorsque --start-pos et --continue sont toute deux indiquées, wget émettra un avertissement et procèdera comme si --continue était absent.
La prise en charge du serveur pour la poursuite du téléchargement est nécessaire, sinon --start-pos ne pourra pas aider. Voir -c pour les détails.
- --progress=type
- Sélectionnez le type d'indicateur de progression que vous
désirez utiliser. Les indicateurs classiques sont
« dot » et
« bar ».
L'indicateur « bar » est utilisé par défaut. Il dessine un graphique de barre de progression ASCII (comme un affichage « thermomètre ») indiquant l'état de la récupération. Si la sortie n'est pas une console TTY, la barre « dot » sera utilisée par défaut.
Utilisez --progress=dot pour passer à l'affichage « dot » (pointillés). Il retrace la récupération en affichant des points sur l'écran, chaque point représentant une quantité fixe de données téléchargées.
Le type de progression peut aussi prendre un ou plusieurs paramètres. Les paramètres varient suivant le type sélectionné. Les paramètres sont passés au type en les ajoutant au type, séparés par un deux-points ( : ) comme ceci : --progress=type:paramètre1:paramètre2.
Lorsque vous utilisez la représentation de la récupération par points, vous pouvez définir le style en spécifiant le type comme dot:style. Les différents styles assignent différents rôles à un point. Avec le style « default » chaque point représente 1Ko, il y a dix points par grappe et 50 points sur une ligne. Le style « binary » a plus une orientation du genre « ordinateur » : points de 8Ko, 16 points par grappe et 48 points par ligne (ce qui fait des lignes de 384Ko). Le style « mega » est adapté au téléchargement de gros fichiers : chaque point représentant 64Ko de récupération, il y a huit points dans une grappe, et 48 points sur chaque ligne (chaque ligne contenant 3Mo). Si « mega » n'est pas suffisant, alors vous pouvez utiliser le style « giga » -- chaque point représente 1 Mo récupérés, il y a huit points par grappe, et 32 points par ligne (donc chaque ligne contient 32Mo).
Avec --progress=bar, il y a actuellement deux paramètres possibles, force et noscroll.
Lorsque la sortie n'est pas une console TTY, la barre de progression retombe toujours sur « dot », même si --progress=bar a été passé à wget lors de l'invocation. Ce comportement peut être outrepassé et la sortie « bar » forcée avec le paramètre « force » comme --progress=bar:force.
Par défaut, la barre de progression du style bar fait défiler le nom du fichier de gauche à droite pour le fichier en cours de téléchargement si le nom du fichier dépasse la longueur maximale allouée à son affichage. Dans certains cas, comme avec --progress=bar:force, il peut ne pas y avoir de défilement du nom de fichier dans la barre de progression. En passant le paramètre « noscroll », wget peut être forcé à afficher la plus grande partie possible du nom de fichier sans le faire défiler.
Remarquez que vous pouvez indiquer le style par défaut en utilisant la commande "progress" dans .wgetrc. Ce réglage peut être écrasé par la ligne de commande. Par exemple, pour forcer la barre de sortie à ne pas défiler, utilisez --progress=bar:force:noscroll.
- --show-progress
- Forcer wget à afficher la barre de progression quelque soit
le niveau de détail.
Par défaut, wget affiche seulement la barre de progression en mode détaillé. Il est possible de vouloir que wget affiche la barre de progression en accord avec un autre mode de détail comme --no-verbose ou --quiet. Cela peut être désirable lors de l'invocation de wget pour télécharger plusieurs petits et/ou grands fichiers. Dans un tel cas, wget pourrait simplement être invoqué avec ce paramètre pour avoir une sortie plus propre sur l'écran.
Cette option forcera également la barre de progression à être affichée dans stderr lorsqu'elle est utilisée avec l'option --output-file.
- -N
- --timestamping
- Activer l'horodatage.
- --no-if-modified-since
- Ne pas envoyer d'en-tête If-Modified-Since en mode -N. Envoyer d'abord une réponse HEAD à la place. Cela n'est effectif qu'en mode -N.
- --no-use-server-timestamps
- Don't set the local file's timestamp by the one on the server.
By default, when a file is downloaded, its timestamps are set to match those from the remote file. This allows the use of --timestamping on subsequent invocations of wget. However, it is sometimes useful to base the local file's timestamp on when it was actually downloaded; for that purpose, the --no-use-server-timestamps option has been provided.
- -S
- --server-response
- Afficher les en-têtes envoyés par les serveurs HTTP et les réponses envoyées par les serveurs FTP.
- --spider
- Lorsqu'il est invoqué avec cette option, wget se comportera
comme un robot d'indexation, il ne téléchargera pas les
pages, il vérifiera simplement leur présence. Par exemple,
vous pouvez utiliser wget pour vérifier vos
marque-pages :
wget --spider --force-html -i marque-pages.htmlCette caractéristique nécessite encore quelques travaux pour se rapprocher des fonctionnalités de véritables robots d'indexation.
- -T secondes
- --timeout=secondes
- Définir le délai d'attente du réseau à
secondes. Cela est équivalent à spécifier
--dns-timeout, --connect-timeout et --read-timeout,
tous en même temps.
Lorsqu'il interagit avec le réseau, wget peut vérifier le délai d'attente et annuler l'opération si cela dure trop. Cela permet d'éviter les anomalies telles que les lectures suspendues et les connexions infinies. Le seul délai d'attente activé par défaut est un délai d'attente de lecture de 900 secondes (15 min). Définir un délai d'attente à 0 désactive l'ensemble. À moins de savoir ce que vous faites, il vaut mieux ne pas changer les réglages du délai d'attente par défaut.
Toutes les options liées au délai d'attente acceptent les valeurs décimales, ainsi que les valeurs en dixième de seconde. Par exemple, 0.1 seconde est un choix classique (bien que peu judicieux) du délai d'attente. Les temps d'attente en dixièmes de seconde sont utiles pour la vérification des temps de réponse du serveur ou pour tester la latence du réseau.
- --dns-timeout=secondes
- Set the DNS lookup timeout to seconds seconds. DNS lookups that don't complete within the specified time will fail. By default, there is no timeout on DNS lookups, other than that implemented by system libraries.
- --connect-timeout=secondes
- Définir le délai de connexion à secondes. Les connexions TCP qui mettent trop longtemps à s'établir seront annulées. Il n'y a pas de délai de connexion par défaut, autre que celui qui est implémenté par les bibliothèques du système.
- --read-timeout=secondes
- Définir le délai de lecture (et d'écriture) à
secondes. Le « temps » de ce
délai correspond à idle time : si,
à quelque moment du téléchargement, aucune
donnée n'est reçue durant plus que le nombre
spécifié de secondes, la lecture échoue et le
téléchargement est recommencé. Cette option n'influe
pas directement sur la durée totale du
téléchargement.
Bien sûr, le serveur distant peut choisir de terminer la connexion plus tôt que requis par cette option. Le délai de lecture est de 900 secondes (15 min) par défaut.
- --limit-rate=quantité
- Limit the download speed to amount bytes per second. Amount may be
expressed in bytes, kilobytes with the k suffix, or megabytes with
the m suffix. For example, --limit-rate=20k will limit the
retrieval rate to 20KB/s. This is useful when, for whatever reason, you
don't want Wget to consume the entire available bandwidth.
Cette option autorise l'usage de nombres décimaux, habituellement en conjonction avec des suffixes de puissance ; par exemple, --limit-rate=2.5k est une valeur classique.
Note that Wget implements the limiting by sleeping the appropriate amount of time after a network read that took less time than specified by the rate. Eventually this strategy causes the TCP transfer to slow down to approximately the specified rate. However, it may take some time for this balance to be achieved, so don't be surprised if limiting the rate doesn't work well with very small files.
- -w secondes
- --wait=secondes
- Attendre le nombre de secondes spécifié entre deux
récupérations. L'utilisation de cette option est
encouragée, car elle allège le travail du serveur en
diminuant la fréquence des requêtes. Au lieu de secondes, le
temps peut être indiqué en minutes en utilisant le suffixe
"m", en heures avec le suffixe
"h", ou en jours avec le suffixe
"d".
L'indication d'une grande valeur pour cette option est pratique si le réseau ou l'hôte de destination est éteint, ainsi wget peut attendre assez longtemps pour raisonnablement espérer que l'erreur réseau soit réparée d'ici le prochain essai. L'intervalle de temps d'attente indiqué par cette fonction est influencé par "--random-wait" qui surveille.
- --waitretry=secondes
- If you don't want Wget to wait between every retrieval, but only
between retries of failed downloads, you can use this option. Wget will
use linear backoff, waiting 1 second after the first failure on a
given file, then waiting 2 seconds after the second failure on that file,
up to the maximum number of seconds you specify.
Par défaut, wget prendra une valeur de dix secondes.
- --random-wait
- Some web sites may perform log analysis to identify retrieval programs
such as Wget by looking for statistically significant similarities in the
time between requests. This option causes the time between requests to
vary between 0.5 and 1.5 * wait seconds, where wait was
specified using the --wait option, in order to mask Wget's presence
from such analysis.
Un article est paru en 2001 dans une publication consacrée au développement sur une plate-forme populaire grand public qui fournissait un code permettant d'effectuer cette analyse à la volée. Son auteur a suggéré un blocage au niveau des adresses de classe C pour s'assurer que les programmes d'extraction automatique soient bloqués malgré le changement des adresses fournies par le DHCP.
L'option --random-wait a été inspirée par cette recommandation peu judicieuse qui consiste à bloquer l'accès à un site web à de nombreux utilisateurs non concernés en raison des actions d'un seul.
- --no-proxy
- Don't use proxies, even if the appropriate *_proxy environment variable is defined.
- -Q quota
- --quota=quota
- Indiquer le quota de téléchargement pour l'extraction
automatique. Cette valeur peut être indiquée en octets (par
défaut), kilooctets (avec le suffixe k) ou
mégaoctets (avec le suffixe m).
Remarquez que le quota n'affectera jamais le téléchargement d'un seul fichier. Donc si vous indiquez wget -Q10k https://example.com/ls-lR.gz, tout le fichier ls-lR.gz sera téléchargé. C'est la même chose lorsque plusieurs URL sont indiquées sur la ligne de commande. Le quota n'est seulement vérifié qu'à la fin de chaque fichier téléchargé, donc il ne provoquera jamais le téléchargement partiel d'un fichier. Ainsi vous pouvez tranquillement taper wget -Q2m -i sites, le téléchargement s'arrêtera après que le fichier qui dépasse le quota a été complètement téléchargé.
Définir le quota à 0 ou à inf retire la limite du quota de téléchargement.
- --no-dns-cache
- Turn off caching of DNS lookups. Normally, Wget remembers the IP addresses
it looked up from DNS so it doesn't have to repeatedly contact the DNS
server for the same (typically small) set of hosts it retrieves from. This
cache exists in memory only; a new Wget run will contact DNS again.
Cela dit, il a été rapporté que dans quelques situations, il n'est pas désirable de mettre en cache les noms d'hôtes, même pour la durée d'une application brève et rapide comme wget. Avec cette option, wget effectue une nouvelle recherche DNS (plus précisément, un nouvel appel à "gethostbyname" ou "getaddrinfo") à chaque nouvelle connexion. Veuillez prendre en compte que cette option n'affectera pas la mise en cache qui pourrait être effectuée par la bibliothèque de résolution ou par une couche de mise en cache externe, telle que NSCD.
If you don't understand exactly what this option does, you probably won't need it.
- --restrict-file-names=modes
- Modifier les caractères trouvés dans les URL distants qui
doivent être protégés lors de la
génération des noms de fichiers locaux. Les
caractères qui sont restreints par cette option sont
protégés, c'est à dire remplacés par
%HH, où HH est le nombre
hexadécimal qui correspond au caractère restreint. Cette
option peut aussi être utilisée pour forcer les
caractères alphabétiques à être soit en
minuscules, soit en capitales.
Par défaut, wget protège les caractères qui ne sont pas valables ou sûrs dans les noms de fichiers pour votre système d'exploitation, ainsi que pour les caractères de contrôle habituellement impossibles à afficher. Cette option est utile pour changer ce comportement par défaut, peut être parce que vous téléchargez dans une partition non native, ou parce que vous voulez désactiver la protection des caractères de contrôle, ou parce que vous voulez restreindre encore plus de caractères à ceux de la plage de valeurs ASCII.
Les modes sont un ensemble de valeurs textuelles séparées par des virgules. Les valeurs acceptées sont unix, windows, nocontrol, ascii, lowercase et uppercase. Les valeurs unix et windows sont mutuellement exclusives (l'une écrasera l'autre), de même pour lowercase et uppercase. Ces deux dernières sont des cas spéciaux, car elles ne changent pas l'ensemble des caractères qui devraient être protégés, mais plutôt forcent les chemins de fichier local à être converti soit en minuscules ou en capitales.
Lorsque « unix » est indiqué, wget protège le caractère / et les caractères de contrôle dans les plages de 0 à 31 et de 128 à 159. C'est le comportement par défaut pour les systèmes d'exploitation de type Unix.
Lorsque « windows » est indiqué, wget protège les caractères \, |, /, :, ?, ", *, <, >, et les caractères contrôle dans les plages de 0 à 31 et de 128 à 159. En plus de cela, wget en mode Windows utilise + au lieu de : pour séparer l'hôte et le port dans les noms de fichiers locaux, et utilise @ au lieu de ? pour séparer la partie requête du nom de fichier du reste. Par conséquent, une URL qui aurait été sauvegardée en www.xemacs.org:4300/search.pl?input=blabla en mode Unix pourrait l'être en www.xemacs.org+4300/search.pl@input=blabla en mode Windows. C'est le mode par défaut sur Windows.
Si vous indiquez nocontrol, alors la protection des caractères de contrôle est aussi désactivée. Cette option est utile lorsque vous téléchargez des URL avec des noms contenant des caractères UTF-8 sur un système qui peut sauvegarder et afficher les noms de fichiers en UTF-8 (certaines valeurs d'octets possibles utilisées dans les séquences d'octets UTF-8 tombent dans la plage de valeurs désignée par wget comme des « contrôles »).
Le mode ascii est utilisé pour spécifier que tous les octets dont la valeur est en dehors de la plage de caractères ASCII (c'est-à-dire supérieure à 127) doivent être protégés. Cela est utile lors de la sauvegarde des noms de fichiers dont l'encodage ne correspond pas à celui utilisé en local.
- -4
- --inet4-only
- -6
- --inet6-only
- Forcer la connexion vers les adresses IPv4 ou IPv6. Avec
--inet4-only ou -4, wget ne se connectera qu'à
des hôtes IPv4, ignorant les enregistrements AAAA du DNS, et
refusant de se connecter aux adresses IPv6 indiquées dans les URL.
Au contraire, avec --inet6-only ou -6, wget ne se
connectera qu'aux hôtes IPv6 et ignorera les enregistrements A et
les adresses IPv4.
Neither options should be needed normally. By default, an IPv6-aware Wget will use the address family specified by the host's DNS record. If the DNS responds with both IPv4 and IPv6 addresses, Wget will try them in sequence until it finds one it can connect to. (Also see "--prefer-family" option described below.)
Ces options peuvent être utilisées pour forcer délibérément l'usage des familles d'adresses IPv4 ou IPv6 sur les systèmes avec les deux familles, habituellement pour aider au débogage ou s'occuper d'une configuration réseau défaillante. Seulement l'une des options --inet6-only et --inet4-only peut être indiquée au même moment. Aucune option n'est disponible si wget a été compilé sans la prise en charge de IPv6.
- --prefer-family=none/IPv4/IPv6
- Lors d'un choix avec plusieurs adresses, se connecter d'abord aux adresses
indiquées dans la famille d'adresses. Par défaut, l'ordre
des adresses renvoyé par DNS est utilisé sans changement.
Cela permet d'éviter les erreurs et les tentatives de connexion intempestives lors de l'accès à des hôtes dont l'adresse est à la fois IPv6 et IPv4 à partir de réseaux IPv4. Par exemple, www.kame.net se résout en 2001:200:0:8002:203:47ff:fea5:3085 et en 203.178.141.194. Lorsque la famille souhaitée est "IPv4", l'adresse IPv4 sera utilisée en premier ; lorsque la famille souhaitée est "IPv6", l'adresse IPv6 sera utilisée en premier ; si la valeur indiquée est "none", l'ordre des adresses renvoyé par DNS est utilisé sans changement.
Unlike -4 and -6, this option doesn't inhibit access to any address family, it only changes the order in which the addresses are accessed. Also note that the reordering performed by this option is stable---it doesn't affect order of addresses of the same family. That is, the relative order of all IPv4 addresses and of all IPv6 addresses remains intact in all cases.
- --retry-connrefused
- Considérer « connection refused » comme une erreur passagère et réessayer. Normalement, wget abandonne une URL lorsqu'il ne parvient pas à se connecter au site, car l'échec de la connexion est considéré comme un signe que le serveur ne fonctionne pas du tout et que de nouvelles tentatives ne seraient d'aucune utilité. Cette option est destinée à la mise en miroir de sites peu fiables dont les serveurs ont tendance à disparaître pendant de courtes périodes.
- --user=utilisateur
- --password=mot_de_passe
- Indiquer le nom d'utilisateur utilisateur et le mot de passe mot_de_passe pour la récupération des fichiers à la fois FTP et HTTP. Ces paramètres peuvent être écrasés par l'utilisation des options --ftp-user et --ftp-password pour les connexions FTP et les options --http-user et --http-password pour les connexions HTTP.
- --ask-password
- Demander un mot de passe pour chaque connexion établie. Ne peut pas être indiqué quand --password est déjà utilisé, car ils sont mutuellement exclusifs.
- --use-askpass=commande
- Demander un utilisateur et un mot de passe en utilisant la commande
indiquée. Si aucune commande n'est indiquée, alors la
commande dans la variable d'environnement WGET_ASKPASS est
utilisée. Si WGET_ASKPASS n'est pas définie, alors la
commande dans la variable d'environnement SSH_ASKPASS est utilisée.
Vous pouvez définir la commande par défaut pour use-askpass dans .wgetrc. Ce réglage peut être écrasé par la ligne de commande.
- --no-iri
- Désactiver la prise en charge des URI internationalisés
(IRI). Utiliser --iri pour l'activer. La prise en charge des IRI
est activée par défaut.
Vous pouvez définir l'état par défaut de la prise en charge des IRI en utilisant la commande "iri" dans .wgetrc. Ce réglage peut être écrasé par la ligne de commande.
- --local-encoding=encodage
- Forcer wget à utiliser encodage comme système
d'encodage par défaut. Cela influe sur la manière dont
wget convertit les URL indiqués comme arguments de
paramètres régionnaux vers UTF-8 pour la prise en charge
d'IRI.
wget utilise la fonction nl_langinfo()" et donc la variable d'environnement "CHARSET" pour obtenir les paramètres régionaux. Si cela échoue, ASCII est utilisé.
Vous pouvez définir l'encodage local par défaut en utilisant la commande "local_encoding" dans .wgetrc. Ce réglage peut être écrasé par la ligne de commande.
- --remote-encoding=encodage
- Forcer wget à utiliser l'encodage comme encodage par
défaut du serveur distant. Cela affecte la façon dont
wget convertit les URI trouvés dans les fichiers de
l'encodage distant en UTF-8 lors d'une récupération
récursive. Cette option n'est utile que pour la prise en charge
d'IRI, pour interpréter les caractères qui ne sont pas
ASCII.
Pour HTTP, l'encodage distant peut être trouvé dans l'en-tête HTTP "Content-Type" et dans les méta-étiquettes HTML "Content-Type http-equiv".
Vous pouvez définir l'encodage par défaut avec la commande "remoteencoding" dans .wgetrc. Ce réglage peut être écrasé en ligne de commande.
- --unlink
- Forcer wget à délier le fichier au lieu d'écraser le fichier existant. Cette option est utile pour le téléchargement dans le répertoire avec des liens en dur (« hardlinks »).
Options de répertoire¶
- -nd
- --no-directories
- Ne pas créer de hiérarchie de répertoires lors d'une récupération récursive. Avec cette option activée, tous les fichiers sont sauvegardés dans le répertoire actuel, sans écrasement (si un nom apparait plus d'une fois, les noms de fichiers auront l'extension .n).
- -x
- --force-directories
- L'opposé de -nd : créer une hiérarchie de répertoires, même si une n'aurait pas été créée autrement. Par exemple, wget -x http://fly.srk.fer.hr/robots.txt sauvegardera les fichiers téléchargés dans fly.srk.fer.hr/robots.txt.
- -nH
- --no-host-directories
- Désactiver la génération de répertoires préfixés par le nom d'hôte. Par défaut, l'invocation de wget avec -r http://fly.srk.fer.hr/ créera une structure de répertoires commençant par fly.srk.fer.hr/. Cette option désactive un tel comportement.
- --protocol-directories
- Utiliser le nom de protocole comme composant du répertoire des noms de fichiers locaux. Par exemple, avec cette option, wget -r http://hôte sera sauvegardé en http/hôte/... plutôt que seulement en hôte/....
- --cut-dirs=nombre
- Ignorer un certain nombre de composants du répertoire. Cela
est utile pour obtenir un contrôle fin sur le répertoire
où la récupération récursive sera
enregistrée.
Prenons comme exemple le répertoire à l'adresse ftp://ftp.xemacs.org/pub/xemacs/. Si vous le récupérez avec -r, il sera sauvegardé localement sous ftp.xemacs.org/pub/xemacs/. Bien que l'option -nH peut supprimer la partie ftp.xemacs.org/, vous êtes encore coincé avec pub/xemacs. C'est là où --cut-dirs est vraiment pratique : il permet à wget de ne pas « voir » le nombre de composants de répertoire distant. Voici quelques exemples de la manière dont l'option --cut-dirs fonctionne.
Pas d'options -> ftp.xemacs.org/pub/xemacs/ -nH -> pub/xemacs/ -nH --cut-dirs=1 -> xemacs/ -nH --cut-dirs=2 -> . --cut-dirs=1 -> ftp.xemacs.org/xemacs/ ...Si vous voulez simplement vous débarrasser de la structure du répertoire, cette option est similaire à une combinaison de -nd et -P. Par contre, contrairement à -nd, --cut-dirs ne se perd pas avec des sous-répertoires (par exemple, avec -nH --cut-dirs=1, un sous-répertoire beta/ sera placé sur xemacs/beta, comme on pourrait l'espérer.
- -P préfixe
- --directory-prefix=préfixe
- Désigner le préfixe de répertoire à préfixe. Le préfixe de répertoire est le répertoire où tous les autres fichiers et sous-répertoires vont être sauvegardés, c'est-à-dire le haut de l'arbre de récupération. C'est . (le répertoire actuel) par défaut.
Options HTTP¶
- --default-page=nom
- Use name as the default file name when it isn't known (i.e., for URLs that end in a slash), instead of index.html.
- -E
- --adjust-extension
- If a file of type application/xhtml+xml or text/html is
downloaded and the URL does not end with the regexp
\.[Hh][Tt][Mm][Ll]?, this option will cause the suffix .html
to be appended to the local filename. This is useful, for instance, when
you're mirroring a remote site that uses .asp pages, but you want
the mirrored pages to be viewable on your stock Apache server. Another
good use for this is when you're downloading CGI-generated materials. A
URL like http://site.com/article.cgi?25 will be saved as
article.cgi?25.html.
Note that filenames changed in this way will be re-downloaded every time you re-mirror a site, because Wget can't tell that the local X.html file corresponds to remote URL X (since it doesn't yet know that the URL produces output of type text/html or application/xhtml+xml.
Avec la version 1.12 wget s'assure aussi que tous les fichiers téléchargés de forme text/css se terminent par le suffixe .css, et l'option a été renommée de --html-extension, pour mieux refléter son nouveau comportement. L'ancien nom de l'option est encore acceptable, mais devrait être considéré comme obsolète.
Depuis la version 1.19.2, wget s'assure aussi que tout fichier téléchargé avec un "Content-Encoding" de type br, compress, deflate ou gzip finisse avec le suffixe .br, .Z, .zlib et .gz respectivement.
À l'avenir, cette option devrait être assez étendue pour englober les suffixes d'autres types de contenus, incluant ceux qui ne sont pas analysés par wget.
- --http-user=utilisateur
- --http-password=mot_de_passe
- Indiquer le nom d'utilisateur utilisateur et le mot de passe
mot_de_passe sur un serveur HTTP. Selon le type d'authentification
par question-réponse, wget encodera en utilisant à la
fois le schéma d'authentification
«"basic"
(non-sécurisé), "digest"
ou "NTLM" de Windows.
Une autre manière d'indiquer le nom d'utilisateur et le mot de passe est de les spécifier dans l'URL. Les deux méthodes révèlent votre mot de passe à quiconque se donne la peine d'exécuter "ps"). Pour empêcher que les mots de passe ne soient vus, utilisez --use-askpass ou stockez-les dans .wgetrc ou .netrc, et assurez vous de protéger ces fichiers des autres utilisateurs avec "chmod". Si les mots de passe sont très importants, ne les laissez pas traîner dans ces fichiers non plus (éditez les fichiers et effacez-les après que wget a commencé le téléchargement).
- --no-http-keep-alive
- Désactiver la fonction « keep-alive »
pour les téléchargements HTTP. Normalement, wget
demande au serveur de laisser la connexion ouverte pour que, lorsque vous
téléchargez plus d'un document sur le même serveur,
ils soient transférés sur la même connexion TCP. Cela
économise du temps et aussi réduit la charge sur le serveur.
This option is useful when, for some reason, persistent (keep-alive) connections don't work for you, for example due to a server bug or due to the inability of server-side scripts to cope with the connections.
- --no-cache
- Désactiver le cache coté serveur. Dans ce cas, wget
enverra les directives appropriées
(Cache-Control: no-cache et Pragma: no-cache)
au serveur distant pour recevoir les fichier du service distant, au lieu
de renvoyer la version mise en cache. Cela est surtout utile pour
retrouver et vider les documents obsolètes sur des serveurs
mandataires.
La mise en cache est autorisée par défaut.
- --no-cookies
- Désactiver l'utilisation des cookies. Les cookies sont un mécanisme permettant de conserver l'état du serveur. Le serveur envoie au client un cookie utilisant l'en-tête "Set-Cookie" et le client répond avec le même cookie lors de requêtes supplémentaires. Comme les cookies autorisent les propriétaires du serveur à garder une trace des visiteurs et pour les sites de s'échanger ces informations, certains considèrent cela comme une atteinte à la vie privée. Par défaut, les cookies sont utilisés ; cependant, il n'y a pas de stockage de cookies par défaut.
- --load-cookies fichier
- Load cookies from file before the first HTTP retrieval. file
is a textual file in the format originally used by Netscape's
cookies.txt file.
Vous utiliserez généralement cette option pour la mise en place d'un miroir de sites qui exigent que vous soyez connecté pour accéder à tout ou partie de leur contenu. Le processus de connexion fonctionne généralement de la manière suivante : le serveur Web émet un cookie HTTP après avoir reçu et vérifié vos identifiants. Le cookie est alors renvoyé par le navigateur pour accéder à cette partie du site, et prouve ainsi votre identité.
La mise en miroir d'un tel site nécessite que wget renvoie les même cookies que ceux envoyés par le navigateur lors de la communication avec le site. Cela est fait par --load-cookies ; il suffit d'indiquer à wget l'emplacement du fichier cookies.txt et il enverra les mêmes cookies que votre navigateur enverrait dans la même situation. Les différents navigateurs conservent les fichiers cookies textuels à des endroits différents :
- "Netscape 4.x."
- Les cookies sont dans ~/.netscape/cookies.txt.
- "Mozilla and Netscape 6.x."
- Mozilla's cookie file is also named cookies.txt, located somewhere under ~/.mozilla, in the directory of your profile. The full path usually ends up looking somewhat like ~/.mozilla/default/some-weird-string/cookies.txt.
- "Internet Explorer."
- Vous pouvez produire un fichier cookie que wget peut utiliser en utilisant le menu Fichier, Import et Export, Export de cookies. Cela a été testé avec Internet Explorer 5 ; il n'est pas garanti que cela fonctionne avec des versions plus récentes.
- "Other browsers."
- Si vous utilisez un autre navigateur pour créer vos cookies, --load-cookies ne pourra fonctionner que si vous pouvez situer ou créer un fichier cookie dans le format Netscape comme attendu par wget.
If you cannot use --load-cookies, there might still be an alternative. If your browser supports a "cookie manager", you can use it to view the cookies used when accessing the site you're mirroring. Write down the name and value of the cookie, and manually instruct Wget to send those cookies, bypassing the "official" cookie support:
wget --no-cookies --header "Cookie: <nom>=<valeur>"
- --save-cookies fichier
- Sauvegarder les cookies dans fichier avant de quitter. Cela ne sauvegardera pas les cookies qui ont expirés ou qui n'ont pas de délai d'expiration (nommés les « cookies de session »), mais voir aussi --keep-session-cookies.
- --keep-session-cookies
- Lorsque indiqué, fait que --save-cookies sauvegarde aussi
les cookies de session. Les cookies de session ne sont normalement pas
sauvegardés, car ils sont sensés être gardés
en mémoire et oubliés lorsque vous quittez le navigateur.
Les sauvegarder est utile sur les sites qui nécessitent une
identification ou une visite de la page d'accueil avant que vous puissiez
accéder à certaines pages. Avec cette option, de multiples
exécutions de wget sont considérées comme une
seule session de navigateur tant que le site est concerné.
Since the cookie file format does not normally carry session cookies, Wget marks them with an expiry timestamp of 0. Wget's --load-cookies recognizes those as session cookies, but it might confuse other browsers. Also note that cookies so loaded will be treated as other session cookies, which means that if you want --save-cookies to preserve them again, you must use --keep-session-cookies again.
- --ignore-length
- Hélas, quelques serveurs HTTP (les programmes CGI, pour être
précis) envoient de faux en-têtes
"Content-Length", ce qui rend
wget fou, car il pense que tout le document n'a pas
été récupéré. Vous pouvez
repérer ce syndrome si wget tente à plusieurs
reprises de récupérer le même document, en affirmant
à chaque fois que la connexion (par ailleurs normale) a
été fermée au même instant précis.
Avec cette option, wget ignorera l'en-tête "Content-Length", comme s'il n'avait jamais existé.
- --header=header-line
- Envoyer l'en-tête de ligne header-line avec le reste des
en-têtes dans chaque requête HTTP. L'en-tête fourni
est envoyé tel quel, ce qui signifie qu'il doit contenir le nom et
la valeur séparés par un deux-points, et ne doit pas
contenir de passage à la ligne.
Vous pouvez définir plus d'un en-tête additionnel en indiquant --header plus d'une fois.
wget --header='Accept-Charset: iso-8859-2' \ --header='Accept-Language: hr' \ http://fly.srk.fer.hr/L'indication d'une chaîne vide comme valeur d'en-tête effacera tous les en-têtes précédemment définis par l'utilisateur.
Avec wget 1.10, cette option peut être utilisée pour écraser les en-têtes qui autrement auraient été générés automatiquement. Cet exemple donne l'instruction à wget de se connecter à l'hôte local, mais en indiquant truc.machin dans l'en-tête "Host" :
wget --header="Host: truc.machin" http://localhost/
Dans les versions de wget antérieures à 1.10, une telle utilisation de --header provoquait l'envoi d'en-têtes en double.
- --compression=type
- Choisir le type de compression à utiliser. Les valeurs permises
sont auto, gzip et none.
Si auto ou gzip sont indiqués, wget demande au serveur de compresser le fichier en utilisant le format gzip de compression. Si le serveur compresse le fichier et répond avec le champ d'en-tête "Content-Encoding" configuré de manière adéquate, le fichier sera décompressé automatiquement.
Si none est indiqué, wget ne demandera pas au serveur de compresser le fichier et ne décompressera aucune réponse du serveur. C'est le comportement par défaut.
La prise en charge de la compression est actuellement expérimentale. Au cas où la compression est activée, merci de rapporter tout bogue à "bug-wget@gnu.org".
- --max-redirect=nombre
- Indique le nombre maximal de redirections à suivre pour une ressource. Par défaut, c'est 20, ce qui est généralement largement plus que suffisant. Cependant, en certaines occasions où vous voulez en autoriser plus (ou moins), c'est l'option à utiliser.
- --proxy-user=utilisateur
- --proxy-password=mot_de_passe
- Indiquer le nom d'utilisateur utilisateur et le mot de passe
mot_de_passe pour l'authentification sur un serveur mandataire.
wget les encodera en utilisant le schéma d'authentification
"basic".
Des considérations de sécurité similaires à celles avec --http-password sont pertinentes ici aussi.
- --referer=url
- Include `Referer: url' header in HTTP request. Useful for retrieving documents with server-side processing that assume they are always being retrieved by interactive web browsers and only come out properly when Referer is set to one of the pages that point to them.
- --save-headers
- Sauvegarder les en-têtes envoyés par le serveur HTTP au fichier, précédant le contenu actuel, avec une ligne vide comme séparateur.
- -U agent-string
- --user-agent=agent-string
- S'identifier comme agent-string pour le serveur HTTP.
Le protocole HTTP autorise les clients à s'identifier eux-mêmes en utilisant un champ d'en-tête "User-Agent". Cela permet de différencier les logiciels WWW, généralement dans des buts de statistiques ou pour retracer les violations de protocole. Normalement, wget s'identifie comme Wget/version, où version est le numéro de la version actuelle de wget.
Cependant, certains sites sont connus pour imposer la politique d'adaptation de la sortie en fonction des informations fournies par le "User-Agent". Bien que ce ne soit pas une si mauvaise idée en théorie, il y a eu des abus par des serveurs refusant l'information à des clients autres que Netscape (historiquement), ou plus fréquemment, Microsoft Internet Explorer. Cette option vous permet de changer la ligne "User-Agent" fournie par wget. Utiliser cette option est déconseillé, à moins de savoir réellement ce que vous faites.
Indiquer un user agent vide avec --user-agent="" demandera à wget de ne pas envoyer d'en-tête "User-Agent" dans les requêtes HTTP.
- --post-data=chaîne
- --post-file=fichier
- Utiliser POST comme méthode pour toutes les requêtes HTTP et
les envoyer dans le corps de requêtes désiré.
--post-data envoie chaîne comme données, alors
que --post-file envoie le contenu de fichier. À part
cela, ces options fonctionnent exactement de la même
manière. En particulier, les deux s'attendent à du
contenu sous la forme
"clé1=valeur1&clé2=valeur2",
avec un encodage-pourcent (percent encoding) des caractères
spéciaux ; la seule différence est que l'une attend
son contenu comme paramètre de ligne de commande et l'autre accepte
son contenu d'un fichier. En particulier --post-file n'est pas
fait pour transmettre des fichiers sous forme de pièces
jointes : ceux-là doivent apparaitre comme des
données "clé=valeur" (avec
l'encodage-pourcent adéquat) juste comme tout le reste. wget
ne prend pas actuellement en charge
"multipart/form-data" pour transmettre
des données POST, mais seulement
"application/x-www-form-urlencoded".
Seule une des options --post-data ou --post-file doit
être spécifiée.
Veuillez noter que wget n'exige pas que le contenu soit de la forme "clé1=valeur1&clé2=valeur2", et ne le teste pas non plus. wget transmettra simplement toutes les données qui lui sont fournies. La plupart des serveurs s'attendent toutefois à ce que les données POST soient dans le format ci-dessus lors du traitement des formulaires HTML.
Lors de l'envoi d'une requête POST à l'aide de l'option --post-file, wget traite le fichier comme un fichier binaire et envoie chaque caractère de la requête POST sans supprimer les caractères de fin de ligne ou de saut de page. Tout autre caractère de contrôle dans le texte sera aussi envoyé tel quel dans la requête POST.
Please be aware that Wget needs to know the size of the POST data in advance. Therefore the argument to "--post-file" must be a regular file; specifying a FIFO or something like /dev/stdin won't work. It's not quite clear how to work around this limitation inherent in HTTP/1.0. Although HTTP/1.1 introduces chunked transfer that doesn't require knowing the request length in advance, a client can't use chunked unless it knows it's talking to an HTTP/1.1 server. And it can't know that until it receives a response, which in turn requires the request to have been completed -- a chicken-and-egg problem.
Note : Depuis la version 1.15 si wget est redirigé après que la requête POST a terminé, son comportement dépendra du code de la réponse renvoyé par le serveur. Dans le cas d'un 301 Moved Permanently, 302 Moved Temporarily ou 307 Temporary Redirect, wget en accord avec la RFC2616, continuera à envoyer une requête POST. Dans le cas où un serveur veut que le client change la méthode de requête lors de la redirection, il devrait envoyer un code de réponse 303 See Other.
Cet exemple montre comment se connecter à un serveur en utilisant POST et ensuite procéder au téléchargement des pages souhaitées, vraisemblablement accessibles uniquement aux utilisateurs autorisés :
# Se connecter au serveur. Cela ne peut être fait qu'une fois. wget --save-cookies cookies.txt \ --post-data 'user=truc&password=machin' \ http://example.com/auth.php # Maintenant prendre la ou les pages qui nous intéressent. wget --load-cookies cookies.txt \ -p http://example.com/interesting/article.phpSi le serveur utilise des cookies de session pour tracer l'authentification de l'utilisateur, l'exemple ci-dessus ne fonctionnera pas car --save-cookies ne les sauvegardera pas (comme aucun navigateur) et le fichier cookies.txt sera vide. Dans ce cas, utiliser --keep-session-cookies avec --save-cookies pour forcer la sauvegarde des cookies de session.
- --method=HTTP-Method
- Pour les besoins des scripts RESTful, wget permet l'envoi d'autres méthodes HTTP sans avoir besoin de les définir explicitement en utilisant --header=Header-Line. wget utilisera n'importe quelle chaîne qui lui sera passé après --method comme méthode HTTP pour le serveur.
- --body-data=chaîne-données
- --body-file=Fichier-données
- Doit être positionné lorsque des données
additionnelles nécessitent d'être envoyées au serveur
avec la méthode préconisée par l'utilisation de
--method. --body-data envoie une chaîne comme
données, alors que --body-file envoie le contenu de
fichier. Autrement, ils fonctionnent exactement pareil.
Actuellement, --body-file ne transmet pas les fichiers comme un tout. wget ne prend actuellement pas en charge "multipart/form-data" pour la transmission de données, mais seulement "application/x-www-form-urlencoded". Dans le futur, cela devrait changer pour que wget puisse envoyer le fichier --body-file comme un fichier complet, au lieu d'envoyer son contenu au serveur. Veuillez prendre en compte que wget nécessite de connaître le contenu des données BODY à l'avance et donc l'argument de --body-file devrait être un fichier ordinaire. Voir --post-file pour des explications plus détaillées. Une seule des options --body-data et --body-file devra être spécifiée.
Si wget est redirigé après la fin de la requête, wget suspend la méthode en cours et envoie une requête GET jusqu'à ce que la redirection soit terminée. Cela est vrai pour tous les codes de réponse à l'exception de 307 Temporary Redirect qui est utilisé pour indiquer explicitement que la méthode de requête ne devrait pas changer. Une autre exception est quand la méthode est positionnée à "POST", auquel cas les règles de redirection indiquées avec --post-data sont suivies.
- --content-disposition
- Si l'option est positionnée, la prise en charge
expérimentale (pas complètement fonctionnelle) des
en-têtes "Content-Disposition"
est activée. Cela peut actuellement entraîner des
allers-retours supplémentaires vers le serveur pour une
requête "HEAD", et souffre de
quelques bogues connus, c'est pourquoi ce n'est pas actuellement
activé par défaut.
Cette option est utile pour quelques programmes de téléchargement CGI qui utilisent des en-têtes "Content-Disposition" pour décrire à quoi devrait ressembler le nom d'un fichier téléchargé.
Quand il est combiné avec --metalink-over-http et --trust-server-names, un fichier Content-Type: application/metalink4+xml est nommé en utilisant le champ de nom de fichier de "Content-Disposition", s'il est disponible.
- --content-on-error
- Si cela est activé, wget ne sautera pas le contenu lorsque le serveur répond avec un code d'état http qui indique une erreur.
- --trust-server-names
- Si cela est activé, lors d'une redirection, le nom du fichier local sera basé sur l'URL de redirection. Par défaut le nom du fichier local est basé sur l'URL d'origine. Lors d'une recherche récursive, cela peut être utile car dans de nombreux sites web, les URL redirigées correspondent à une structure de fichiers sous-jacente, alors que les URL de liens ne le font pas.
- --auth-no-challenge
- Si cette option est passée, wget enverra une information
d'authentification HTTP basique (nom d'utilisateur et mot de passe en
texte clair) pour toutes les requêtes, comme le fait par
défaut wget 1.10.2 et antérieurs.
L'utilisation de cette option est déconseillée, et est destinée uniquement à la prise en charge de quelques serveurs obscurs, qui n'envoient jamais d'authentification par question-réponse HTTP, mais acceptent les informations d'authentification non sollicitées, disons, en plus de l'authentification par formulaire.
- --retry-on-host-error
- Considérer les erreurs de l'hôte, telles que « Échec temporaire dans la résolution du nom », comme des erreurs non fatales et transitoires.
- --retry-on-http-error=code[,code,...]
- Considérer les codes de réponse HTTP donnés comme des
erreurs non-fatales et transitoires. Fournir une liste de codes de
réponse HTTP à trois chiffres séparés par des
virgules comme argument. Utile pour travailler dans certaines
circonstances où les réessais sont nécessaires, mais
où le serveur répond avec un code d'erreur que wget
ne réessaye pas normalement. Ces erreurs devraient être 503
(Service non disponible) et 429 (Trop de requêtes). Les tentatives
activées par cette option sont effectuées sous
réserve des limitations normales de wget en matière
de délais et de nombre de tentatives.
L'utilisation de cette option n'est prévue que pour des cas d'utilisation particuliers et n'est généralement pas recommandée, car elle peut forcer des tentatives même dans les cas où le serveur essaie réellement de réduire sa charge. Veuillez l'utiliser à bon escient et seulement si vous savez ce que vous faites.
Options HTTPS (SSL/TLS)¶
Pour la prise en charge des téléchargements HTTP (HTTPS) chiffrés, wget doit être compilé avec une bibliothèque SSL externe. Habituellement par défaut c'est GnuTLS. En plus, wget prend aussi en charge HSTS (HTTP Strict Transport Security). Si wget est compilé sans la prise en charge de SSL, aucune de ces options n'est disponible.
- --secure-protocol=protocole
- Choisir le protocole de sécurité à utiliser. Les
valeurs autorisées sont auto, SSLv2, SSLv3,
TLSv1, TLSv1_1, TLSv1_2, TLSv1_3 et
PFS. Si auto est utilisé, le choix est donné
à la bibliothèque SSL de choisir le protocole
approprié automatiquement, qui s'achève par l'envoi d'un
salut TLSv1. C'est le comportement par défaut.
Indiquer SSLv2, SSLv3, TLSv1, TLSv1_1, TLSv1_2 ou TLSv1_3 force l'utilisation du protocole correspondant. Cette fonction est utile lorsque l'on s'adresse à des implémentations de serveur SSL anciennes et boguées qui rendent le choix de la version correcte du protocole difficile pour la bibliothèque SSL sous-jacente. Heureusement, de tels serveurs sont assez rares.
La spécification de PFS impose l'utilisation des suites de chiffrement dites « Perfect Forward Security ». Pour faire court, PFS ajoute une sécurité en créant une clé à usage unique pour chaque connexion SSL. Cela a un impact un peu plus important sur le CPU du client et du serveur. Nous utilisons des chiffrements connus pour être sûrs (par exemple, pas de MD4) et le protocole TLS. Ce mode exclut également de manière explicite les méthodes d'échange de clés non SFP, telles que RSA.
- --https-only
- En mode récursif, seuls les liens HTTPS sont suivis.
- --ciphers
- Set the cipher list string. Typically this string sets the cipher suites and other SSL/TLS options that the user wish should be used, in a set order of preference (GnuTLS calls it 'priority string'). This string will be fed verbatim to the SSL/TLS engine (OpenSSL or GnuTLS) and hence its format and syntax is dependent on that. Wget will not process or manipulate it in any way. Refer to the OpenSSL or GnuTLS documentation for more information.
- --no-check-certificate
- Don't check the server certificate against the available certificate
authorities. Also don't require the URL host name to match the common name
presented by the certificate.
As of Wget 1.10, the default is to verify the server's certificate against the recognized certificate authorities, breaking the SSL handshake and aborting the download if the verification fails. Although this provides more secure downloads, it does break interoperability with some sites that worked with previous Wget versions, particularly those using self-signed, expired, or otherwise invalid certificates. This option forces an "insecure" mode of operation that turns the certificate verification errors into warnings and allows you to proceed.
If you encounter "certificate verification" errors or ones saying that "common name doesn't match requested host name", you can use this option to bypass the verification and proceed with the download. Only use this option if you are otherwise convinced of the site's authenticity, or if you really don't care about the validity of its certificate. It is almost always a bad idea not to check the certificates when transmitting confidential or important data. For self-signed/internal certificates, you should download the certificate and verify against that instead of forcing this insecure mode. If you are really sure of not desiring any certificate verification, you can specify --check-certificate=quiet to tell wget to not print any warning about invalid certificates, albeit in most cases this is the wrong thing to do.
- --certificate=fichier
- Utiliser le certificat du client stocké dans fichier. Cela est nécessaire pour les serveurs qui sont configurés pour demander les certificats des clients qui s'y connectent. Normalement, un certificat n'est pas demandé et cette option est optionnelle.
- --certificate-type=type
- Indiquer le type de certificat du client. Les valeurs autorisées sont PEM (par défaut) et DER, aussi connu comme ASN1.
- --private-key=fichier
- Lire la clé privée dans fichier. Cela vous permet de fournir la clé privée dans un fichier séparé du certificat.
- --private-key-type=type
- Indiquer le type de la clé privée. Les valeurs acceptées sont PEM (par défaut) et DER.
- --ca-certificate=fichier
- Utiliser fichier comme fichier contenant le paquet
d'autorités de certification (« CA »)
pour vérifier les pairs. Les certificats doivent être au
format PEM.
Sans cette option wget cherche les certificats CA aux endroits spécifiés par le système, choisis par OpenSSL lors de son installation.
- --ca-directory=répertoire
- Indiquer le répertoire contenant les certificats CA au format PEM.
Chaque fichier contient un certificat CA, et le nom du fichier est
basé sur une valeur de hachage dérivée du certificat.
Cela est réalisé en traitant un répertoire de
certificats avec l'utilitaire "c_rehash"
fourni avec OpenSSL. L'utilisation de --ca-directory est plus
efficace que --ca-certificate lorsque plusieurs certificats sont
installés car cela permet à wget de
récupérer les certificats sur demande.
Sans cette option wget cherche les certificats CA aux endroits spécifiés par le système, choisis par OpenSSL lors de son installation.
- --crl-file=fichier
- Indiquer un fichier CRL dans fichier. Cela est nécessaire pour les certificats révoqués par les Autorités de Certifications.
- --pinnedpubkey=file/hashes
- Dire à wget d'utiliser la clé publique
indiquée (ou les hachages) pour vérifier le pair. Cela peut
être un chemin qui contient une seule clé publique au format
PEM ou DER, ou tout nombre de hachage sha256 encodé en base64
précédé de « sha256 » et
séparé par « ; »
Lors de la négociation d'une connexion TLS ou SSL, le serveur envoie un certificat prouvant son identité. Une clé publique est extraite de ce certificat et si cela ne correspond pas exactement à une des clés publique fournies à cette option, wget annulera la connexion avant l'envoi ou la réception de données.
- --random-file=fichier
- [OpenSSL et LibreSSL seulement] Utiliser fichier comme source de
données aléatoires pour ensemencer le
générateur de nombres pseudo-aléatoires sur les
systèmes sans /dev/urandom.
Sur de tels systèmes, la bibliothèque SSL a besoin d'une source extérieure de données aléatoires pour s'initialiser. Les données aléatoires pouvaient être fournies par EGD (voir --egd-file ci-dessous) ou lues sur une source extérieure spécifiée par l'utilisateur. Si cette option n'est pas indiquée, wget cherchera les données aléatoires dans $RANDFILE ou, s'il n'est pas défini, dans $HOME/.rnd.
If you're getting the "Could not seed OpenSSL PRNG; disabling SSL." error, you should provide random data using some of the methods described above.
- --egd-file=fichier
- [seulement pour OpenSSL] Utiliser fichier comme socket EGD. EGD
signifie Entropy Gathering Daemon, un programme de l'espace
utilisateur qui collecte des données à partir de diverses
sources système imprévisibles et les met à la
disposition d'autres programmes qui pourraient en avoir besoin. Les
logiciels de chiffrement, tels que la bibliothèque SSL, ont besoin
de sources d'aléas non répétitifs pour ensemencer le
générateur de nombres aléatoires utilisé pour
produire des clés cryptographiques solides.
OpenSSL autorise l'utilisateur à indiquer sa propre source d'entropie en utilisant la variable d'environnement "RAND_FILE". Si cette variable n'est pas définie, ou si le fichier indiqué ne produit pas assez de caractères aléatoires, OpenSSL lira les données aléatoires du socket EGD indiqué en utilisant cette option.
Si cette option n'est pas indiquée (et que la commande équivalente de démarrage n'est pas utilisée), EGD n'est jamais contacté. EGD n'est pas nécessaire sur les systèmes Unix modernes qui prennent en charge /dev/urandom.
- --no-hsts
- wget prend en charge HSTS (HTTP Strict Transport Security, RFC 6797) par défaut. Utiliser --no-hsts pour faire que wget se comporte comme un UA non compatible avec HSTS. Comme conséquence wget ignorera tous les en-têtes "Strict-Transport-Security", et ne voudra appliquer aucune politique HSTS existante.
- --hsts-file=fichier
- Par défaut, wget stocke sa base de données HSTS dans
~/.wget-hsts. Vous pouvez utiliser --hsts-file pour
écraser cela. wget utilisera le fichier fourni comme base de
données HSTS. Un tel fichier doit être conforme au format de
base de données HSTS utilisé par wget. Si wget
ne peut pas analyser le fichier fourni, le comportement est
indéterminé.
The Wget's HSTS database is a plain text file. Each line contains an HSTS entry (ie. a site that has issued a "Strict-Transport-Security" header and that therefore has specified a concrete HSTS policy to be applied). Lines starting with a dash ("#") are ignored by Wget. Please note that in spite of this convenient human-readability hand-hacking the HSTS database is generally not a good idea.
Une entrée de ligne HSTS consiste en plusieurs champs séparés par un ou plusieurs espaces blancs :
"<hostname> SP [<port>] SP <include subdomains> SP <created> SP <max-age>"
The hostname and port fields indicate the hostname and port to which the given HSTS policy applies. The port field may be zero, and it will, in most of the cases. That means that the port number will not be taken into account when deciding whether such HSTS policy should be applied on a given request (only the hostname will be evaluated). When port is different to zero, both the target hostname and the port will be evaluated and the HSTS policy will only be applied if both of them match. This feature has been included for testing/development purposes only. The Wget testsuite (in testenv/) creates HSTS databases with explicit ports with the purpose of ensuring Wget's correct behaviour. Applying HSTS policies to ports other than the default ones is discouraged by RFC 6797 (see Appendix B "Differences between HSTS Policy and Same-Origin Policy"). Thus, this functionality should not be used in production environments and port will typically be zero. The last three fields do what they are expected to. The field include_subdomains can either be 1 or 0 and it signals whether the subdomains of the target domain should be part of the given HSTS policy as well. The created and max-age fields hold the timestamp values of when such entry was created (first seen by Wget) and the HSTS-defined value 'max-age', which states how long should that HSTS policy remain active, measured in seconds elapsed since the timestamp stored in created. Once that time has passed, that HSTS policy will no longer be valid and will eventually be removed from the database.
Si vous fournissez votre propre base de données HSTS à l'aide de --hsts-file, sachez que wget peut modifier le fichier fourni si un changement se produit entre les politiques HSTS demandées par les serveurs distants et celles du fichier. Quand wget se termine, il met effectivement à jour la base de données HSTS en réécrivant le fichier de base de données avec les nouvelles entrées.
Si le fichier fourni n'existe pas, wget en créera un. Ce fichier contiendra les nouvelles entrées HSTS. Si aucune entrée HSTS n'a été crée (aucun en-tête "Strict-Transport-Security" n'a été envoyé par aucun des serveurs) alors aucun fichier n'est créé, même pas un vide. Ce comportement s'applique aussi au fichier de base de données par défaut (~/.wget-hsts) : il ne sera pas créé, sauf par un serveur qui force la politique HSTS.
L'attention est mise sur le fait de ne pas écraser de possibles changements faits par d'autres wget au même moment sur la base de données HSTS. Avant de déposer les entrées HSTS mises à jour dans le fichier, wget le relit et fusionne les modifications.
Il est déconseillé d'utiliser une base de données HSTS personnalisée ou de modifier une base existante. Pour plus d'informations sur les menaces de sécurité potentielles découlant d'une telle pratique, consultez la section 14 « Considérations de sécurité » de la RFC 6797 en particulier la section 14.9 « Manipulation créative du stockage de politique HSTS ».
- --warc-file=fichier
- Utiliser fichier comme fichier WARC de destination.
- --warc-header=chaîne
- Utiliser chaîne dans l'enregistrement warcinfo.
- --warc-max-size=taille
- Définir la taille maximale des fichiers WARC à taille.
- --warc-cdx
- Écrire les fichiers index CDX.
- --warc-dedup=fichier
- Ne pas conserver les documents répertoriés dans ce fichier CDX.
- --no-warc-compression
- Ne pas compresser les fichiers WARC avec GZIP.
- --no-warc-digests
- Ne pas calculer les sommes de contrôle SHA1.
- --no-warc-keep-log
- Ne pas stocker le fichier journal dans un enregistrement WARC.
- --warc-tempdir=répertoire
- Indiquer l'emplacement des fichiers temporaires créés par le rédacteur WARC.
Options FTP¶
- --ftp-user=utilisateur
- --ftp-password=mot_de_passe
- Indiquer le nom de l'utilisateur utilisateur et le mot de passe
mot_de_passe sur un serveur FTP. Sans cela ou l'option de
démarrage adéquate, le mot de passe par défaut est
-wget@, normalement utilisé pour un FTP anonyme.
Le nom d'utilisateur et le mot de passe peuvent être indiqués différemment dans l'URL. Chaque méthode révèle votre mot de passe à quiconque se donne la peine d'exécuter "ps". Pour empêcher que vos mots de passe soient vus, stockez les dans .wgetrc ou .netrc, et assurez-vous de protéger ces fichiers des autres utilisateurs avec "chmod". Si les mots de passe sont très importants, vous ne devriez pas les laisser traîner dans ces fichiers non plus (éditez les fichiers et effacez les après que wget ait commencé le téléchargement).
- --no-remove-listing
- Don't remove the temporary .listing files generated by FTP
retrievals. Normally, these files contain the raw directory listings
received from FTP servers. Not removing them can be useful for debugging
purposes, or when you want to be able to easily check on the contents of
remote server directories (e.g. to verify that a mirror you're running is
complete).
Remarquez que même si wget écrit dans un nom de fichier connu pour ce fichier, ce n'est pas une faille de sécurité dans le scénario d'un utilisateur faisant de .listing un lien symbolique vers /etc/passwd ou autre et demandant à "root" d'exécuter wget dans son répertoire. Selon les options utilisées, soit wget refusera d'écrire dans .listing, faisant échouer l'opération de globbing/récursion/horodatage, soit le lien symbolique sera supprimé et remplacé par le fichier .listing réel, soit le listing sera écrit dans un fichier .listing.numéro.
Even though this situation isn't a problem, though, "root" should never run Wget in a non-trusted user's directory. A user could do something as simple as linking index.html to /etc/passwd and asking "root" to run Wget with -N or -r so the file will be overwritten.
- --no-glob
- Désactiver le globbing FTP. Globbing (englober)
réfère à l'utilisation de caractères
spéciaux (jokers) à la façon du shell, tels
que *, ?, [ et ] pour retrouver plus d'un
fichier dans le même répertoire en une fois, comme :
wget ftp://gnjilux.srk.fer.hr/*.msg
Par défaut, la fonction de globbing est activée si l'URL contient un caractère de globbing. Cette option peut être utilisée pour activer ou désactiver le globbing de manière permanente.
Vous devrez peut-être mettre entre guillemets l'URL pour le protéger de l'expansion par votre interpréteur de commandes. Le globbing fait que wget cherche une liste de répertoires, ce qui est spécifique au système. C'est pourquoi cela ne fonctionne actuellement qu'avec les serveurs FTP Unix (et ceux qui émulent la sortie "ls" d'Unix).
- --no-passive-ftp
- Désactiver l'utilisation du mode de transfert FTP passif. Le
mode FTP passif implique que le client se connecte au serveur pour
établir la connexion de données plutôt que l'inverse.
If the machine is connected to the Internet directly, both passive and active FTP should work equally well. Behind most firewall and NAT configurations passive FTP has a better chance of working. However, in some rare firewall configurations, active FTP actually works when passive FTP doesn't. If you suspect this to be the case, use this option, or set "passive_ftp=off" in your init file.
- --preserve-permissions
- Préserver les permissions de fichiers distants au lieu des permissions définies par umask.
- --retr-symlinks
- Par défaut, lors de la récupération récursive
des répertoires FTP et qu'un lien symbolique est rencontré,
le lien symbolique est suivi et les fichiers pointés sont
récupérés. Actuellement, wget ne suit pas les
liens symboliques pour télécharger les répertoires
récursivement, bien que cette option pourrait être
ajoutée dans le futur.
Lorsque --retr-symlinks=no est indiqué, le fichier pointé n'est pas téléchargé. À la place, un lien symbolique correspondant est créé sur le système de fichiers local. Le fichier pointé ne sera pas récupéré sauf si la récupération récursive le rencontre autrement et le télécharge de toutes façons. Cette option pose un risque de sécurité où un serveur FTP malveillant pourrait amener wget à écrire dans des fichiers situés en dehors des répertoires prévus par le biais d'un fichier .LISTING spécialement contrefait.
Notez que cette option n'a aucun effet lors de la récupération d'un fichier (pas d'un répertoire) parce qu'il a été indiqué dans la ligne de commandes plutôt que trouvé par récursion. Les liens symboliques sont toujours suivis dans ce cas.
Options FTPS¶
- --ftps-implicit
- Cette option indique à wget d'utiliser FTPS implicitement. FTPS implicite consiste à initialiser SSL/TLS au tout début de la connexion de contrôle. Cette option n'envoie pas de commande "AUTH TLS" : elle présume que le serveur parle FTPS et démarre directement une connexion SSL/TLS. Si la tentative réussit, la session continue juste comme FTPS normal ("PBSZ" et "PROT" sont envoyés, etc). FTPS implicite n'est plus un prérequis pour les implémentations FTPS, donc beaucoup de serveurs ne le prennent pas en charge. Si --ftps-implicit est passé et qu'aucun numéro de port explicite n'est indiqué, le port par défaut pour le FTPS implicite, 1990, sera utilisé, au lieu du port par défaut pour le FTPS « normal » (explicite), qui est le même que celui pour FTP, 21.
- --no-ftps-resume-ssl
- Ne pas reprendre la session SSL/TLS dans le canal de données. Lors du démarrage d'une connexion de données, wget essaiera de reprendre la session SSL/TLS précédemment démarrée dans la connexion de contrôle. La reprise de session SSL/TLS évite d'effectuer une poignée de main entièrement nouvelle en réutilisant les paramètres SSL/TLS d'une session précédente. Habituellement, les serveurs FTPS souhaitent cela, aussi wget le fait par défaut. Dans de rares circonstances néanmoins, il serait possible de souhaiter démarrer une session SSL/TLS entièrement nouvelle à chaque connexion de données. C'est à cela que --no-ftps-resume-ssl est destiné.
- --ftps-clear-data-connection
- Toutes les connexions de données seront en texte brut. Seule la connexion de contrôle sera sous SSL/TLS. wget enverra une commande "PROT C" pour réaliser cela, ce qui doit être approuvé par le serveur.
- --ftps-fallback-to-ftp
- Revenir à FTP si FTPS n'est pas pris en charge par le serveur cible. Pour des raisons de sécurité, cette option n'est pas déclarée par défaut. Le comportement par défaut est de quitter avec une erreur. Si un serveur ne répond pas avec succès à la commande initiale "AUTH TLS", ou dans le cas du FTPS, implicite si la tentative de connexion SSL/TLS initiale est rejetée, on considère ce serveur comme ne prenant pas en charge FTPS.
Options de récupération récursive¶
- -r
- --recursive
- Activer la récupération récursive. La profondeur maximale par défaut est 5.
- -l profondeur
- --level=profondeur
- Définir le nombre maximal de sous-répertoires dans lesquels
wget fera une récursion à profondeur. Dans le
but d'éviter de télécharger de très grands
sites web, lors de l'utilisation de la récursion, cela est
limité à une profondeur de 5 par défaut, c'est
à dire qu'il traversera au plus 5 répertoires en profondeur
en commençant à l'URL fournie. Indiquer -l 0 ou -l
inf pour une profondeur de récursion infinie.
wget -r -l 0 http://<site>/1.html
Idéalement, on pourrait s'attendre à ce que cela ne télécharge que 1.html, mais malheureusement ce n'est pas le cas, car -l 0 est équivalent à -l inf (ce qui est la récursion infinie). Pour télécharger une seule page HTML (ou quelques pages), indiquez les sur la ligne de commande et délaissez -r et -l. Pour télécharger les éléments essentiels à l'affichage d'une seule page HTML, consulter page requisites.
- --delete-after
- Cette option indique à wget de supprimer chaque fichier
qu'il télécharge, après l'avoir fait. Elle est
utile pour précharger des pages populaires à travers un
mandataire, par exemple :
wget -r -nd --delete-after http://toto.com/~page/populaire/
L'option -r est pour récupérer récursivement et -nd pour ne pas créer de répertoires.
Remarquez que --delete-after efface les fichiers sur la machine locale. Cela n'émet pas la commande DELE pour les sites FTP distants, par exemple. Notez aussi que lorsque --delete-after est indiqué, --convert-links est ignoré, ainsi les fichiers .orig ne sont tout simplement pas créés en premier lieu.
- -k
- --convert-links
- Une fois le téléchargement terminé, convertir les
liens du document pour les rendre adaptés à un affichage
local. Cela concerne non seulement les hyperliens visibles, mais aussi
toute partie du document qui renvoie à un contenu externe, comme
les images intégrées, les liens vers des feuilles de style,
les hyperliens vers du contenu non HTML, etc.
Chaque lien sera changé d'une manière ou d'une autre :
- Les liens vers les fichiers qui ont été
téléchargés par wget seront modifiés
pour faire référence au fichier qu'ils pointent comme lien
relatif.
Exemple : si le fichier téléchargé /toto/doc.html pointe vers /machin/img.gif aussi téléchargé, alors le lien dans doc.html sera modifié pour pointer vers ../machin/img.gif. Ce genre de transformation fonctionne pour relier des combinaisons arbitraires de répertoires.
- Les liens des fichiers qui n'ont pas été
téléchargés par wget seront modifiés
pour inclure le nom d'hôte et le chemin absolu de l'emplacement
vers lequel ils pointent.
Exemple : si le fichier téléchargé /toto/doc.html pointe vers /machin/img.gif (ou vers ../machin/img.gif), alors le lien dans doc.html sera modifié pour pointer vers http://nomdhôte/machin/img.gif.
De ce fait, la navigation locale fonctionne de manière fiable : si un fichier lié a été téléchargé, le lien renverra à son nom local ; s'il n'a pas été téléchargé, le lien renverra à son adresse Internet complète plutôt que de présenter un lien brisé. Le fait que les anciens liens soient convertis en liens relatifs garantit que vous pouvez déplacer la hiérarchie téléchargée vers un autre répertoire.
Notez que ce n'est qu'à la fin du téléchargement que wget peut savoir quels liens ont été téléchargés. De ce fait, le travail effectué par -k sera réalisé à la fin de tous les téléchargements.
- --convert-file-only
- Cette option ne convertit que la partie nom de fichier des URL, laissant
le reste des URL intactes. La partie nom de fichier réfère
parfois au « nom de base », mais nous
éludons ce terme ici pour ne pas créer de confusion.
Cela fonctionne particulièrement bien en conjonction avec --adjust-extension, même si ce couplage n'est pas appliqué. Cela est utile pour alimenter les caches Internet avec des fichiers téléchargés à partir de différents hôtes.
Exemple : si un lien pointe vers //toto.com/machin.cgi?xyz avec --adjust-extension activé et sa destination locale étant prévue d'être /toto.com/machin.cgi?xyz.css, alors le lien devrait être converti en //toto.com/machin.cgi?xyz.css. Remarquez que seule la partie nom de fichier a été modifiée. Le reste de l'URL n'a pas été touché, y compris le chemin de réseau ("//") qui aurait dû autrement être traité par wget et converti en schéma effectif (c'est à dire "http://").
- -K
- --backup-converted
- Lors de la conversion d'un fichier, sauvegarder la version d'origine avec un suffixe .orig. Cela a un effet sur le comportement de -N.
- -m
- --mirror
- Activer les options adaptées à la création de mirroir. Cette option active la récursion et l'horodatage, définit la profondeur de la récursion infinie et garde les listes du répertoire FTP. C'est actuellement l'équivalent de -r -N -l inf --no-remove-listing.
- -p
- --page-requisites
- Cette option force wget à télécharger tous les
fichiers qui sont nécessaires pour afficher correctement une page
HTML donnée. Cela comprend des éléments tels que les
images et les sons intégrés, ainsi que les feuilles de style
référencées.
Normalement, lors du téléchargement d'une seule page HTML, les documents nécessaires à son affichage ne sont pas téléchargés. Utiliser -r associé à -l peut aider, comme wget ne distingue pas d'ordinaire les documents externes de ceux internes, on se retrouve généralement avec des « documents feuilles » à qui manquent les éléments requis.
Par exemple, le document 1.html contient une étiquette "<IMG>" référençant 1.gif et une étiquette "<A>" pointant vers le document externe 2.html. Disons que 2.html est similaire mais que son image est 2.gif et qu'elle pointe vers 3.html. Disons que cela continue jusqu'à un nombre arbitrairement élevé.
Si on exécute la commande :
wget -r -l 2 http://<site>/1.html
alors 1.html, 1.gif, 2.html, 2.gif, et 3.html seront téléchargés. Comme vous pouvez voir, 3.html est sans son requis 3.gif parce que wget compte juste le nombre de bonds (jusqu'à deux) en dehors de 1.html pour déterminer où arrêter la récursion. De toute façon, avec cette commande :
wget -r -l 2 -p http://<site>/1.html
all the above files and 3.html's requisite 3.gif will be downloaded. Similarly,
wget -r -l 1 -p http://<site>/1.html
entraînera le téléchargement de 1.html, 1.gif, 2.html et 2.gif. On pourrait penser que :
wget -r -l 0 -p http://<site>/1.html
ne téléchargera que 1.html et 1.gif, mais malheureusement ce n'est pas le cas, car -l 0 est équivalent à -l inf (qui est la récursion infinie). Pour télécharger une seule page HTML (ou une poignée d'entre elles, toutes indiquées sur la ligne de commande ou dans un fichier d'entrée -i URL ) et son (ou ses) éléments requis, enlevez simplement -r et -l :
wget -p http://<site>/1.html
Notez que wget se comportera comme si -r avait été spécifié, mais seule cette page unique et ses éléments requis seront téléchargés. Les liens de cette page vers des documents externes ne seront pas suivis. Actuellement, pour télécharger une seule page et ses éléments requis (même s'ils existent sur d'autres sites web), et s'assurer que le lot s'affiche correctement localement, cet auteur aime utiliser quelques options en plus de -p :
wget -E -H -k -K -p http://<site>/<document>
To finish off this topic, it's worth knowing that Wget's idea of an external document link is any URL specified in an "<A>" tag, an "<AREA>" tag, or a "<LINK>" tag other than "<LINK REL="stylesheet">".
- --strict-comments
- Activer l'analyse stricte des commentaires HTML. Par défaut cela
arrête les commentaires à la première occurrence de
-->.
Selon les spécifications, les commentaires HTML sont exprimés en tant que declarations SGML. La déclaration est un marqueur spécial commençant par <! et finissant par >, comme <!DOCTYPE...>, qui peut contenir des commentaires entre une paire de délimiteurs --. Les commentaires HTML sont des « déclarations vides », des déclarations SGML sans aucun texte qui ne soit pas un commentaire. Par conséquent, <!--toto--> est un commentaire valable, et aussi <!--un --deux-->, mais <!--1--2--> n'en est pas un.
On the other hand, most HTML writers don't perceive comments as anything other than text delimited with <!-- and -->, which is not quite the same. For example, something like <!------------> works as a valid comment as long as the number of dashes is a multiple of four (!). If not, the comment technically lasts until the next --, which may be at the other end of the document. Because of this, many popular browsers completely ignore the specification and implement what users have come to expect: comments delimited with <!-- and -->.
Jusqu'à la version 1.9, wget interprétait les commentaires de façon stricte, ce qui aboutissait en des liens manquants dans plusieurs pages web qui s'affichaient bien dans les navigateurs, mais avaient la malchance de contenir des commentaires non conformes. À partir de la version 1.9, wget a rejoint les rangs des clients qui implémentent des commentaires « naïfs », terminant chaque commentaire à la première occurrence de -->.
Si, pour une raison quelconque, vous voulez une analyse stricte des commentaires, utilisez cette option pour l'activer.
Options accepter/rejeter de manière récursive¶
- -A liste_acceptation --accept liste_acceptation
- -R liste_rejet --reject liste_rejet
- Specify comma-separated lists of file name suffixes or patterns to accept or reject. Note that if any of the wildcard characters, *, ?, [ or ], appear in an element of acclist or rejlist, it will be treated as a pattern, rather than a suffix. In this case, you have to enclose the pattern into quotes to prevent your shell from expanding it, like in -A "*.mp3" or -A '*.mp3'.
- --accept-regex urlregex
- --reject-regex urlregex
- Indiquer une expression rationnelle pour accepter ou rejeter l'URL entière.
- --regex-type regextype
- Indiquer le type d'expression rationnelle. Les types possibles sont posix ou pcre. Veuillez noter que pour pouvoir utiliser le type pcre, wget doit avoir été compilé avec la prise en charge de libpcre.
- -D liste_domaine
- --domains=liste_domaine
- Désigner les domaines à suivre. liste_domaine est une liste de domaines séparés par des virgules. Cela n'active pas -H.
- --exclude-domains liste_domaine
- Indiquer les domaines à ne pas suivre.
- --follow-ftp
- Suivre les liens FTP des documents HTML. Sans cette option, wget ignorera tous les liens FTP.
- --follow-tags=liste
- wget a une table interne de paires d'étiquette/attribut HTML qu'il examine lorsqu'il cherche des documents liés lors d'une récupération récursive. Cependant, si un utilisateur souhaite que seul un sous-ensemble de ces étiquettes soit pris en compte, il doit spécifier ces étiquettes dans une liste séparée par des virgules avec cette option.
- --ignore-tags=liste
- C'est l'opposé de l'option --follow-tags. Pour ignorer
certaines étiquettes HTML lors de la recherche récursive de
documents à télécharger, indiquez-les dans une
liste séparée par des virgules.
Dans le passé, cette option était la meilleure solution pour télécharger une seule page et ses éléments requis, en utilisant une ligne de commande comme :
wget --ignore-tags=a,area -H -k -K -r http://<site>/<document>
However, the author of this option came across a page with tags like "<LINK REL="home" HREF="/">" and came to the realization that specifying tags to ignore was not enough. One can't just tell Wget to ignore "<LINK>", because then stylesheets will not be downloaded. Now the best bet for downloading a single page and its requisites is the dedicated --page-requisites option.
- --ignore-case
- Ignorer la casse pour la correspondance des fichiers et des répertoires. Cela influence le comportement des options -R, -A, -I et -X, ainsi que le globbing mis en œuvre lors du téléchargement à partir de sites FTP. Par exemple, avec cette option, -A *.txt fera correspondre fichier1.txt, mais aussi fichier2.TXT, fichier3.TxT, et ainsi de suite. Les guillemets dans l'exemple sont là pour empêcher l'interpréteur de commandes de développer le motif.
- -H
- --span-hosts
- Activer l'extension entre les hôtes lors de la récupération récursive.
- -L
- --relative
- Suivre uniquement les liens relatifs. Utile pour retrouver une page d'accueil spécifique sans aucun égarement, même pas celui dans les mêmes hôtes.
- -I liste
- --include-directories=liste
- Indiquer une liste de répertoires séparés par des virgules que vous voudriez suivre lors du téléchargement. Les éléments de la liste peuvent contenir des jokers.
- -X liste
- --exclude-directories=liste
- Indiquer une liste de répertoires séparés par des virgules que vous voudriez exclure du téléchargement. Les éléments de la liste peuvent contenir des jokers.
- -np
- --no-parent
- Ne jamais monter dans le répertoire parent lors d'une récupération récursive. C'est une option utile, vu qu'elle garantit que seuls les fichiers en dessous d'une certaine hiérarchie seront téléchargés.
ENVIRONNEMENT¶
wget prend en charge les mandataires à la fois pour les récupérations HTTP et FTP. La façon normale d'indiquer l'emplacement des mandataires, reconnus par wget, est d'utiliser les variables d'environnement suivantes :
- http_proxy
- https_proxy
- Si définies, les variables http_proxy et https_proxy devraient contenir les URL des mandataires pour les connexions HTTP et HTTPS respectivement.
- ftp_proxy
- Cette variable devrait contenir l'URL du mandataire pour les connexions FTP. Il est assez habituel que http_proxy et ftp_proxy soient définis à la même URL.
- no_proxy
- Cette variable devrait contenir une liste de mandataires d'extensions de domaine séparées par des virgules pour lesquelles le mandataire ne devrait pas être utilisé. Par exemple, si la valeur de no_proxy est .mit.edu, le mandataire ne sera pas utilisé pour récupérer des documents de MIT.
CODE DE RETOUR¶
wget peut renvoyer l'un des différents codes d'erreur s'il rencontre des problèmes.
- 0
- Aucun problème.
- 1
- Code d'erreur générique.
- 2
- Erreur d'analyse - par exemple, lors de l'analyse des options de la ligne de commande, des fichiers .wgetrc ou .netrc...
- 3
- Erreur d'entrées/sorties du fichier.
- 4
- Échec du réseau.
- 5
- Échec de la vérification SSL.
- 6
- Échec de l'authentification du nom d'utilisateur ou du mot de passe.
- 7
- Erreurs de protocole.
- 8
- Le serveur a émis une réponse d'erreur.
À l'exception de 0 et 1, les codes de retour les moins élevés sont prioritaires par rapport aux plus élevés lorsque plusieurs types d'erreurs sont rencontrés.
In versions of Wget prior to 1.12, Wget's exit status tended to be unhelpful and inconsistent. Recursive downloads would virtually always return 0 (success), regardless of any issues encountered, and non-recursive fetches only returned the status corresponding to the most recently-attempted download.
FICHIERS¶
- /usr/local/etc/wgetrc
- L'emplacement par défaut du fichier de démarrage global.
- .wgetrc
- Fichier de démarrage de l'utilisateur.
BOGUES¶
Vous êtes les bienvenus pour soumettre des rapports de bogue à l'aide du système de suivi de bogue de GNU Wget (voir <https://savannah.gnu.org/bugs/?func=additem&group=wget>) ou de la liste de diffusion <bug-wget@gnu.org>.
Visitez <https://lists.gnu.org/mailman/listinfo/bug-wget> pour obtenir plus d'informations (comment souscrire, les archives de la liste, ...).
Avant de soumettre un rapport de bogue, veuillez essayer de suivre quelques principes simples.
- 1.
- Please try to ascertain that the behavior you see really is a bug. If Wget crashes, it's a bug. If Wget does not behave as documented, it's a bug. If things work strange, but you are not sure about the way they are supposed to work, it might well be a bug, but you might want to double-check the documentation and the mailing lists.
- 2.
- Essayez de répéter le bogue dans des circonstances aussi
simples que possible. Par exemple, si wget plante lors du
téléchargement wget -rl0 -kKE -t5 --no-proxy
http://example.com -o /tmp/log, vous devriez essayer de voir si le
plantage est reproductible, et si cela n'arrive qu'avec un jeu d'options
plus réduit. Vous pouvez même essayer de lancer le
téléchargement à partir de la page où le
plantage s'est produit pour voir si cette page a déclenché
le plantage d'une manière ou d'une autre.
De plus, bien que je serais intéressé par le contenu de votre fichier .wgetrc, l'intégrer simplement dans le message de débogage est probablement une mauvaise idée. À la place, vous devriez d'abord essayer de voir si le bogue se répète avec un .wgetrc retiré de son emplacement. C'est seulement s'il s'avère que les paramètres de .wgetrc affectent le bogue, que vous devriez m'envoyer les parties pertinentes du fichier.
- 3.
- Merci de démarrer wget avec l'option -d et
envoyez-nous le résultat de la sortie (ou des parties pertinentes
de celle-ci). Si wget a été compilé sans la
gestion du débogage, recompilez-le -- il est beaucoup
plus simple de suivre les bogues avec la prise en charge du
débogage activée.
Note: please make sure to remove any potentially sensitive information from the debug log before sending it to the bug address. The "-d" won't go out of its way to collect sensitive information, but the log will contain a fairly complete transcript of Wget's communication with the server, which may include passwords and pieces of downloaded data. Since the bug address is publicly archived, you may assume that all bug reports are visible to the public.
- 4.
- Si wget a planté, essayez de l'exécuter dans un outil de débogage, par exemple, "gdb `which wget` core" et tapez "where" pour en garder une sauvegarde. Cela peut ne pas fonctionner si l'administrateur système a désactivé les fichiers core, mais on peut essayer en toute sécurité.
VOIR AUSSI¶
Cela n'est pas le manuel complet de GNU Wget. Pour des informations plus complètes, comprenant plus d'explications détaillées de certaines des options, et un nombre de commandes à utiliser avec les fichiers .wgetrc et l'option -e, consulter l'entrée de GNU Info pour wget.
Voir aussi wget2(1), la version mise à jour de GNU Wget avec une prise en charge encore meilleure du téléchargement récursif et des protocoles modernes tels que HTTP/2.
AUTEUR¶
Écrit à l'origine par Hrvoje Niki <hniksic@xemacs.org>. Actuellement maintenu par Darshit Shah <darnir@gnu.org> et Tim Rühsen <tim.ruehsen@gmx.de>.
COPYRIGHT¶
Copyright (c) 1996--2011, 2015, 2018--2024 Free Software Foundation, Inc.
Autorisation est donnée de copier, distribuer et/ou modifier ce document sous les termes de la licence GNU Free Documentation License, version 1.3 ou ultérieure publiée par la fondation Free Software Foundation, sans sections invariantes, sans texte de couverture et sans texte de dos de couverture. Une copie de la licence figure dans la section « GNU Free Documentation License ».
TRADUCTION¶
La traduction française de cette page de manuel a été créée par Sébastien Blanchet, Éric Piel <eric.piel@tremplin-utc.net> et bubu <bubub@no-log.org>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.
| 25 juillet 2025 | GNU Wget 1.25.0 |