12
juillet
2023
17:25

Remplacement de l'utilitaire Wget par Wget2

12 juillet 2023 17:25

L'utilitaire Wget2 offre les mêmes capacités que Wget, mais la vitesse est augmentée de 5 à 10 fois en raison de l'exécution parallèle des requêtes.

Pour télécharger l'intégralité du site (miroir) ou vérifier un site existant pour les liens rompus (404) ou télécharger un fichier, utilisez l'utilitaire de ligne de commande Wget. Il existe un remplacement gratuit et amélioré pour cet utilitaire - Wget2, écrit par un autre programmeur.

La principale amélioration de Wget2 est le multithreading, grâce auquel le chargement d'un site ou son « contournement » via des liens est accéléré de 5 à 10 fois.

Le programme doit être compilé à partir du code source.

https://github.com/rockdaboot/wget2

  1. J'ai d'abord mis à jour les packages :

    sudo apt-get update
    sudo apt-get upgrade

  2. Installé les packages requis pour la compilation :

    sudo apt-get install autoconf autogen automake autopoint libtool python3 rsync tar pkg-config doxygen pandoc gettext libgnutls30 libidn12 flex libpsl5 libnghttp2-14 lcov

  3. Compilation et installation

Par instructions pour elle "Téléchargement et construction à partir d'une archive tar":

wget https://gnuwget.gitlab.io/wget2/wget2-latest.tar.gz

tar xf wget2-latest.tar.gz
cd wget2-
./configurer
faire
faire un chèque
sudo make install

Le programme sera installé dans le dossier /usr/local/bin/wget2

  1. Appel à l'aide :

    man wget2

L'utilisation de l'utilitaire wget2 n'est pas différente de celle de wget : les clés du programme sont les mêmes.

  1. Exemple courant : vérification d'un site pour les liens 404 « cassés » :

    wget2 -o out.log -m -l 3 --save-content-on "404" -T 2 http://example.com/

où :

-o - fichier journal
-m - "miroir" - copie miroir avec dossiers et fichiers
-l 3 - niveau d'imbrication pour les transitions

--save-content-on "404" - enregistre uniquement lors du retour du code 404
-T 2 - temps d'attente de réponse.

Seules les pages de service telles que « 404 » qui n'ont pas été trouvées à la suite de l'exploration du site à l'aide de liens internes, avec des adresses à partir desquelles des liens incorrects peuvent être identifiés, seront enregistrées.

Avec ces paramètres, les requêtes seront effectuées en continu, ce qui est optimal pour les sites Web locaux.
Pour les sites Web d'autres personnes, je recommande d'ajouter une pause -w 2 - le temps d'attente en secondes (2 s) entre les requêtes.


MAN Wget2 en russe

WGET2(1) GNU Wget2 2.0.1 WGET2(1)

Nom
Wget2- téléchargeur récursif metalink/fichier/site Web.

Bref aperçu
wget2 [options]... [URL]...

Descriptif
GNU Wget2 est un utilitaire gratuit permettant de télécharger des fichiers de manière non interactive depuis Internet. Il prend en charge les protocoles HTTP et HTTPS, ainsi que la récupération d'informations via des proxys HTTP(s).

Wget2 est un outil non interactif, ce qui signifie qu'il peut s'exécuter en arrière-plan lorsque l'utilisateur n'est pas connecté. Cela vous permet de commencer à récupérer des informations et de vous déconnecter du système, permettant ainsi à Wget2 de terminer son travail. Au contraire, la plupart des navigateurs Web nécessitent une présence constante de l’utilisateur, ce qui peut constituer un obstacle majeur lors du transfert de grandes quantités de données.

Wget2 peut suivre des liens dans des fichiers HTML, XHTML, CSS, RSS, Atom et plan de site pour créer des versions locales de sites Web distants, recréant complètement la structure de répertoires du site d'origine. Ce qu'on appelle parfois chargement récursif. Cependant, Wget2 respecte la norme d'exclusion des robots (/robots.txt). Wget2 peut être invité à convertir les liens dans les fichiers téléchargés pour pointer vers des fichiers locaux pour une visualisation hors ligne.

Wget2 a été conçu pour assurer la fiabilité sur les connexions réseau lentes ou instables ; Si le téléchargement échoue en raison d'un problème de réseau, l'utilitaire réessayera jusqu'à ce que l'intégralité du fichier soit restaurée. Si le serveur prend en charge le téléchargement partiel, il reprendra là où il s'est arrêté.

Options Wget2

Syntaxe des options

Les options sont des paramètres supplémentaires facultatifs qui peuvent être utilisés pour contrôler le comportement du programme. - env. traducteur

Chaque option d'option a une forme longue et parfois une forme courte. Les options longues sont plus faciles à mémoriser, mais leur saisie prend plus de temps. Vous pouvez librement mélanger différents styles d'options. Vous pourriez donc écrire :

wget2 -r --tries=10 https://example.com/ -o log

L'espace entre l'option prenant un argument et l'argument lui-même peut être omis. Au lieu de -o log, vous pouvez écrire -olog.

Vous pouvez combiner plusieurs options qui ne nécessitent aucun argument, comme :

URL wget2 -drc

Qu'est-ce qui est équivalent

wget2 -d -r -c URL

Puisque d'autres options peuvent être spécifiées après les arguments, vous pouvez les séparer par --. Ainsi, la commande suivante tentera de charger l'URL -x et signalera l'échec dans le journal :

wget2 -o journal -- -x URL

Les options qui acceptent des listes d'arguments séparés par des virgules suivent la convention selon laquelle l'ajout de -no efface sa valeur. Cela peut être utile pour nettoyer les paramètres .wgetrc. Par exemple, si votre .wget2rc définit les répertoires d'exclusion sur /cgi-bin, alors l'option --no-exclude-directories réinitialisera d'abord ce paramètre, puis le définira pour exclure /priv et /trash. Vous pouvez également effacer les listes dans le fichier .wget2rc.

wget2 --no-exclude-directories -X /priv,/trash

La plupart des options qui ne prennent aucun argument sont des options booléennes, ainsi nommées parce que leur état peut être capturé à l'aide d'une variable « booléenne ». Un paramètre booléen peut être affirmatif ou négatif (en commençant par --no-). Toutes ces options ont plusieurs propriétés communes.

Les options affirmatives peuvent être converties en options négatives en préfixant le nom de l'option avec --no- ; Les options négatives peuvent être converties en affirmatives en omettant le préfixe --no-. Cela peut sembler redondant : si la valeur par défaut d'une option "positive" est de ne pas faire quelque chose, alors pourquoi fournir un moyen de la désactiver explicitement ? Mais le fichier de démarrage peut en réalité modifier les valeurs par défaut. Par exemple, l'utilisation de l'option TimeStamping=on dans .wget2rc indique à WGET2 de télécharger uniquement les fichiers mis à jour. L’utilisation de l’option --no-timestamping est le seul moyen de restaurer la valeur par défaut de l’option à partir de la ligne de commande.

Options de lancement de base pour Wget2

-V, --version
Afficher la version Wget2.

-h, -help
Imprimez un message d'aide décrivant toutes les options de ligne de commande WGET2.

-b, --background
Envoyez l'application en arrière-plan immédiatement après le lancement. Si aucun fichier de sortie n'est spécifié via -o, la sortie est redirigée vers le fichier "wget-log".

-e, -execute-command
Exécutez la commande comme si elle faisait partie de .wget2rc. Une commande déclarée de cette manière sera exécutée après les commandes dans .wget2rc, dépassant ainsi sa priorité. Si vous devez spécifier plusieurs commandes WGET2RC, utilisez plusieurs instances de -e.

--hyperlink
Utilisez des hyperliens au lieu des noms des fichiers téléchargés afin qu'ils puissent être ouverts depuis le terminal en cliquant dessus. Seuls quelques émulateurs de terminaux prennent actuellement en charge les hyperliens. Activez cette option si vous savez que votre terminal prend en charge les hyperliens.

Options des fichiers journaux et d'entrée

-o,--output-file = logfile
Imprimez tous les messages d'exécution dans le fichier journal. Sinon, les messages d'erreur sont écrits dans le flux standard.

-a,-append-output = logfile
Ajouter au fichier journal. C'est la même chose que -o, sauf qu'il s'ajoute au journal plutôt que d'écraser l'ancien fichier journal. Si le fichier journal n'existe pas, un nouveau fichier est créé.

-d, --debug
Activez le débogage, ce qui signifie diverses informations importantes pour les développeurs WGET2 si cela ne fonctionne pas comme prévu. Parce que l'administrateur système a peut-être décidé de compiler wget2 sans prise en charge du débogage, auquel cas -d ne fonctionnera pas. Veuillez noter que la compilation avec le support du débogage est toujours sûre, WGET2 compilé avec le support du débogage ne produira pas de messages de débogage à moins que l'option -d ne soit explicitement spécifiée.

-q, -quiet
Désactivez la sortie de WGET2.

-v, --verbose
Activez la sortie multimots avec toutes les données disponibles. La sortie est détaillée par défaut.

-nv, --no-verbose
Désactivez la sortie détaillée. Ce mode n'est pas complètement silencieux (utilisez -Q pour cela), ce qui signifie que les messages d'erreur et les informations de base seront toujours imprimés.

--report-speed=type
Afficher une barre indicatrice de vitesse horizontale avec les valeurs de vitesse en type. Les seules valeurs acceptées pour le type sont les octets (qui sont la valeur par défaut) et les bits. Cette option ne fonctionne que si --progress=bar est également défini.

-i,--input-file=file
Lisez les URL à partir d'un fichier local ou externe avec une liste d'URL. Si "-" est spécifié comme fichier, les URL sont lues à partir de l'entrée standard. Utilisez ./- pour lire un fichier littéralement nommé "./-".

Si cette option est utilisée, il n'est pas nécessaire de spécifier l'URL sur la ligne de commande. S'il y a des URL à la fois sur la ligne de commande et sur le fichier --input-file, alors les URL transmises sur les lignes de commande seront les premières à être extraites. Le fichier est censé contenir une liste d'adresses, une URL par ligne, à l'exception de l'une des options --force-, qui spécifie un format différent.
si vous avez indiqué --force-html, le document sera traité comme du HTML. Dans ce cas, vous pourriez rencontrer des problèmes avec les liens relatifs, que vous pouvez résoudre en ajoutant «base href="url"» étiqueter dans des documents ou en indiquant --base=url sur la ligne de commande.

Si vous avez indiqué --force-css, le document avec les liens sera traité comme CSS.

Si vous avez indiqué --force-sitemap, le document sera traité comme un SiteMap XML.

Si vous avez indiqué --force-atom, le document sera traité comme un flux Atom.

Si vous avez indiqué --force-rss, le document sera traité comme un flux RSS.

Si vous avez indiqué --force-metalink, le document sera considéré comme une description de Metalink.

Si vous rencontrez des problèmes avec les liens relatifs, vous devez utiliser --base=url sur la ligne de commande.
-F, --force-html
lorsqu'une page Web est considérée comme un fichier d'entrée avec l'option --input-file=file, forcez-la à être traitée comme un fichier HTML. Cela vous permettra d'extraire des fichiers par liens relatifs à partir de fichiers HTML existants sur votre disque local, soit en ajoutant « » au HTML, soit en utilisant l'option -base sur la ligne de commande.

--force-css
Lisez et analysez le fichier d'entrée au format CSS. Cela vous permet d'extraire des liens à partir de fichiers CSS existants sur votre disque local. Vous aurez besoin du commutateur -base pour gérer correctement les liens relatifs.

--force-sitemap
Lisez et analysez le fichier d’entrée en tant que plan de site XML. Cela vous permet d'extraire des liens à partir de plans Sitemap existants sur votre disque local. Vous aurez besoin du commutateur -base pour gérer correctement les liens relatifs.

--force-atom
Lisez et analysez le fichier d'entrée en tant que flux XML Atom. Cela vous permet d'extraire des liens à partir de fichiers de flux XML Atom existants sur votre disque local. Vous aurez besoin du commutateur -base pour gérer correctement les liens relatifs.

--force-rss

Lisez et analysez le fichier d'entrée sous forme de flux RSS XML. Cela vous permet d'extraire des liens à partir de fichiers de flux RSS XML existants sur votre disque local. Vous aurez besoin du commutateur -base pour gérer correctement les liens relatifs.

--force-metalink
Lisez et analysez le fichier d'entrée en tant que fichier Metalink. Cela vous permet de récupérer des liens à partir de fichiers Metalink existants sur votre disque local. Vous aurez besoin du commutateur -base pour gérer correctement les liens relatifs.

-B, --base=URL
Autorise les liens relatifs en utilisant une URL comme point de référence, lors de la lecture de liens à partir d'un fichier HTML spécifié via l'option -i/input -file (avec l'option -force..., ou lorsque le fichier d'entrée a été récupéré à distance depuis le serveur, en le décrivant comme HTML, CSS, Atom ou RSS). Cela équivaut à avoir une balise "BASE" dans le fichier HTML d'entrée, avec l'URL comme valeur de l'attribut "href".

Par exemple, si vous spécifiez https://example.com/bar/a.html pour l'URL de base et que Wget2 à partir du lien ../baz/b.html dans le fichier d'entrée récupérera le fichier à l'adresse https://example.com/baz/b.html.

--config=FILE
Spécifiez l'emplacement des fichiers de configuration que vous souhaitez utiliser. Si vous spécifiez plusieurs fichiers, soit à l'aide d'une liste séparée par des virgules, soit à l'aide de plusieurs options de configuration, ces fichiers sont lus dans l'ordre de gauche à droite. Les fichiers répertoriés dans les variables d'environnement $SYSTEM_WGET2RC et ($WGET2RC ou ~/.wget2rc) sont lus dans cet ordre, suivis des fichiers de configuration fournis par l'utilisateur. Si spécifié, $WGET2RC remplace ~/.wget2rc.

--no-config
Efface la liste interne des fichiers de configuration. Par conséquent, si vous souhaitez empêcher la lecture des fichiers de configuration, utilisez l'option --no-config sur la ligne de commande.

--no-config suivi de --config=file ignore la lecture des fichiers standard et lit simplement le fichier de configuration.
wget tentera, sur les plateformes prises en charge, de résoudre les noms de fichiers écrits dans le fichier de configuration avec un tilde ~ comme nom de répertoire de l'utilisateur. Pour utiliser un fichier commençant par un caractère « ~ » littéral, utilisez « ./~ » ou un chemin absolu.

--rejected-log=logfile [Pas encore implémenté]
Enregistre toutes les URL des fichiers de configuration révoqués sous forme de liste séparée par des virgules. Les valeurs incluent le motif du rejet, l'URL et l'URL parente pour laquelle elle a été trouvée.

--local-db
Permet la lecture/écriture dans la base de données de fichiers locale (par défaut : activé).

Il existe des fichiers pour --hsts, --hpkp, --ocsp, etc.

Lorsque spécifié --no-local-db vous pouvez désactiver la lecture/écriture, ce qui est pratique pour les tests.
Cette option n'affecte pas la lecture des fichiers de configuration.

--stats-dns=[FORMAT:]FILE
Enregistre les statistiques DNS au format FORMAT dans un fichier FILE.
LE FORMAT peut être « humain » ou « csv ».
le fichier de sortie "-" signifie stdout et "h" est l'abréviation de format lisible par l'homme.

Le format du fichier CSV de sortie est le suivant :
Hostname, IP, Port, Duration
où :
Duration- le temps de réponse est indiqué en millisecondes.

--stats-tls=[FORMAT:]FILE
Enregistrez les statistiques TLS (des connexions sécurisées) au format FORMAT dans un fichier FILE.
LE FORMAT peut être « humain » ou « csv ».

Le fichier de sortie "-" signifie stdout et "h" est l'abréviation de format lisible par l'homme.

Le format du fichier CSV de sortie est le suivant :
Hostname, TLSVersion, FalseStart, TFO, Resumed, ALPN, HTTPVersion, Certificates, Duration
où :
Tlsversion peut être 1,2,3,4,5 pour SSL3, TLS1.0, TLS1.1, TLS1.2 et TLS1.3. -1 signifie "non".
Falsestart- si la connexion Faux Départ a été utilisée. -1 si non applicable.
Tfo- si la connexion utilise TCP "fast open". -1 si TFO était désactivé.
Resumed- si la session TLS a été reprise ou non.
ALPN est la chaîne de négociation ALPN.
HTTPVersion- est égal à 0 pour HTTP 1.1 et à 1 pour HTTP 2.0.
Certificates est la taille de la chaîne de certificats du serveur.
Duration- la durée est indiquée en millisecondes.

--stats-ocsp=[FORMAT:]FILE
Enregistrez les statistiques OCSP au format FORMAT dans un fichier FILE.
LE FORMAT peut être « humain » ou « csv ». Le fichier de sortie "-" signifie stdout et "h" est l'abréviation de format lisible par l'homme.

Le format du fichier CSV de sortie est le suivant :
Hostname, Stapling, Valid, Revoked, Ignored

où :
Stapling si la réponse OCSP a été cousue ou non.
Valid combien de certificats de serveur étaient valides par rapport à OCSP.
Revoked combien de certificats de serveur ont été révoqués concernant OCSP.
Ignored combien de certificats de serveur ont été ignorés concernant OCSP.

--stats-server=[FORMAT:]FILE
Enregistrez les statistiques du serveur au format FORMAT dans un fichier FILE.
LE FORMAT peut être « humain » ou « csv ». Le fichier de sortie "-" signifie stdout et "h" est l'abréviation de format lisible par l'homme.
le format du fichier CSV de sortie est le suivant :
Hostname, IP, Scheme, HPKP, NewHPKP, HSTS, CSP
où :
Scheme - Les valeurs 0, 1, 2 signifient respectivement : None, http, https.
HPKP- Les valeurs d'épinglage de clé publique HTTP 0,1,2,3 signifient « Pas de HPKP », « Correspondance HPKP », « HPKP ne correspond pas », « Erreur HPKP ».
NewHPKP- si le serveur a envoyé l'en-tête HPKP (Public-Key-Pins)
HSTS- le serveur a-t-il envoyé l'en-tête HSTS (Strict-Transport-Security) ?
CSP- si le serveur a envoyé l'en-tête CSP (Content-Security-Policy).

--stats-site=[FORMAT:]FILE
Enregistrez les statistiques du site au format FORMAT, dans un fichier FILE.
LE FORMAT peut être « humain » ou « csv ». Le fichier de sortie "-" signifie stdout et "h" est l'abréviation de format lisible par l'homme.
Le format du fichier CSV de sortie est le suivant:
ID, ParentID, URL, Status, Link, Method, Size, SizeDecompressed, TransferTime, ResponseTime, Encoding, Verification
où:
ID est un identifiant unique permettant d'enregistrer les statistiques.
ParentID est l'identifiant du document parent, applicable au mode de récursion --recursive.
URL est l'URL (adresse) du document.
Status est le code de réponse HTTP, ou 0 si non applicable.
Link: 1 signifie «lien direct», 0 signifie «lien redirigé».
Method: 1, 2, 3 indiquent les types de requêtes GET, HEAD et POST.
Size est la taille du corps téléchargé (et la valeur théorique pour les requêtes HEAD).
SizeDecompressed est la taille du corps décompressé (et 0 pour les requêtes HEAD). TransferTime correspond au temps en millisecondes entre le début de la requête et la fin du téléchargement.
ResponseTime correspond au temps en millisecondes entre le début de la requête et la première réponse au paquet.
Encoding (0, 1, 2, 3, 4, 5) indique le type de compression utilisé par le serveur: «identity», «gzip», «deflate», «lzma/xz», «bzip2», «brotli», «zstd», «lzip».
Verification indique le statut de la vérification PGP. Les valeurs 0, 1, 2 et 3 correspondent respectivement à «none», «valid», «invalid», «bad» et «missing».

Options de téléchargement

-bind-address=ADDRESS
Lors de la création de connexions client TCP/IP, associez-vous à une adresse IP spécifique sur la machine locale. L'adresse peut être spécifiée sous forme de nom d'hôte ou d'adresse IP. Cette option peut être utile si votre machine possède plusieurs adresses IP.

--bind-interface=INTERFACE
Lors de la création de connexions client TCP/IP, liez-vous à une interface sur la machine locale. Interface peut être spécifié comme nom de l'interface réseau. Cette option peut être utile si votre ordinateur dispose de plusieurs interfaces réseau. Cependant, l'option ne fonctionne que lorsque wget2 s'exécute avec des privilèges élevés (sous GNU/Linux : root/sudo ou sudo setcap cap_net_raw+ep "path to wget | wget2").

-t, --tries=number
Définissez le nombre de tentatives. Spécifiez 0 ou Inf pour répéter indéfiniment. Par défaut, le programme réessayera les requêtes 20 fois, à l'exception des erreurs fatales telles que « connexion refusée » ou « non trouvée » (404), qui ne seront pas réessayées.

--retry-on-http-error=list
Fournissez une liste de codes HTTP séparés par des virgules pour lesquels WGET2 réessayera le téléchargement. Les éléments de liste peuvent contenir des caractères génériques. Si le code HTTP commence par le caractère ! ce code ne sera pas chargé. Cette option est utile lorsque vous essayez de télécharger quelque chose avec une exception. Par exemple, réessayez chaque téléchargement ayant échoué, à l'exception du code d'erreur 404 :
wget2 --retry-on-http-error=*,!404 https://example.com/

N'oubliez pas que "200" est le seul code interdit. S'il est inclus dans la liste d'état, wget2 l'ignorera. Le nombre maximum de tentatives de téléchargement est défini avec l'option --tries.

-O, --output-document=file
Les documents ne seront pas écrits dans leurs fichiers séparés respectifs, mais seront combinés tous ensemble et écrits dans un dossier. Si « - » est utilisé comme fichier, les documents seront imprimés sur la sortie standard, désactivant la conversion de lien. Utilisez ./- pour imprimer dans un fichier littéralement nommé "-". Pour éviter que les messages d'état de WGET2 ne soient mélangés au contenu du fichier, utilisez -q en combinaison avec "-" (cela est différent du comportement de WGET 1.x).

Utiliser "-r" ou "-p" avec "-o" peut ne pas fonctionner comme prévu : Wget2 ne se contentera pas de télécharger le premier fichier dans un fichier, puis de télécharger le reste sous ses noms normaux : tout le contenu téléchargé sera placé dans un fichier.

La combinaison avec -NC n'est acceptée que si le fichier de sortie donné n'existe pas.

Lorsqu'il est utilisé conjointement avec l'option "-c", WGET2 tentera de continuer le téléchargement du fichier dont le nom est transmis à l'option, que le fichier réel existe ou non sur le disque. Cela permet aux utilisateurs de télécharger un fichier avec un nom temporaire à côté d'un fichier existant.

Notez que la combinaison "-k" n'est autorisée que lors du chargement d'un seul document, puisque dans ce cas, elle convertit simplement tous les URI relatifs en externes ; "-k" n'a aucune signification pour plusieurs URI lorsqu'ils sont tous chargés dans un seul fichier ; "-k" ne peut être utilisé que lorsque la sortie est un fichier normal.

Note de compatibilité : WGET 1.X utilise un mécanisme similaire à la redirection shell lors de la gestion de l'option "-o". Wget2 ne gère pas l'option de la même manière. Par conséquent, le fichier ne sera pas toujours recréé. Les horodatages du fichier ne seront affectés que s'il est réellement écrit. Par conséquent, "-c" et "-n" sont désormais pris en charge en combinaison avec cette option.

-nc, --no-clobber
Si un fichier est téléchargé plusieurs fois dans le même répertoire, le comportement de Wget2 dépend de plusieurs options, dont -nc.

Dans certains cas, le fichier local sera corrompu ou écrasé lorsque vous le téléchargerez à nouveau. Dans d'autres cas, le fichier original sera enregistré.

En exécutant wget2 sans "-n", "-nc", "-r" ou "-p", le téléchargement du même fichier dans le même répertoire entraînera la conservation de la copie originale du fichier et une instance du fichier nommée file.1 sera créée à proximité. Si ce fichier est à nouveau téléchargé, une troisième copie sera créée appelée file.2 et ainsi de suite. (C'est également le comportement avec -nd, même si -P ou -p est en vigueur.) Utilisez --keep-extension pour utiliser un modèle de dénomination de fichier alternatif.

Lorsque -NC est donné, ce comportement (file.1, file.2) est supprimé et WGET2 refusera de télécharger de nouvelles copies du fichier. Par conséquent, "--no-clobber" est en fait un terme inapproprié pour ce mode - ce n'est pas l'écrasement qui est empêché (puisque les suffixes numériques l'auraient déjà empêché), mais plutôt l'empêchement de la création de plusieurs versions du même fichier.

Lors de l'exécution de wget2 avec les options "-r" ou "-p", mais sans "-N", "-nd" ou "-nc", le téléchargement à nouveau du fichier téléchargera une nouvelle version, qui écrasera l'ancienne. L'ajout de -NC empêchera ce comportement et entraînera à la place la conservation de la version originale et l'ignorance de toute nouvelle copie du fichier sur le serveur.

Lors de l'exécution de wget2 avec le commutateur "-N", avec ou sans "-r" ou -p, la décision de télécharger ou non une copie plus récente du fichier dépend de l'horodatage local et distant et de la taille du fichier. L'option -nc ne peut pas être spécifiée avec -N. La combinaison avec "-O" / --output-document n'est acceptée que si le fichier de sortie donné n'existe pas.

Notez que lorsque -nc est spécifié, les fichiers avec les suffixes .html ou .htm seront téléchargés à partir du disque local et analysés comme s'ils avaient été récupérés sur Internet.

--backups=backups
Avant d'écraser un fichier, créez une copie de sauvegarde du fichier existant en ajoutant le suffixe .1 au nom du fichier. Ces fichiers de sauvegarde sont créés avec des noms se terminant par .2, .3, etc. - sauvegardes (et perdus au-delà).

-c, --continue
Continuez à recevoir le fichier partiellement téléchargé. Ceci est utile lorsque vous souhaitez terminer un téléchargement démarré par une instance précédente de WGET2 ou un autre programme. Par exemple:

wget2 -c https://example.com/tarball.gz

S'il existe un fichier nommé tarball.gz dans le répertoire courant, WGET2 supposera qu'il s'agit de la première partie du fichier en cours de téléchargement et demandera au serveur de continuer la recherche à partir d'un décalage égal à la longueur du fichier local.

Notez que vous n'avez pas besoin de spécifier cette option si vous souhaitez simplement que l'appel WGET2 en cours réessaye de télécharger le fichier si la connexion est interrompue en cours de transfert. Il s'agit du comportement par défaut. Le commutateur "-c" n'affecte que la reprise des téléchargements démarrés avant cet appel à Wget2 et dont les fichiers locaux sont présents.

Sans le "-c" dans l'exemple précédent, WGET2 téléchargera simplement un fichier appelé Tarball.gz.1 depuis Internet, laissant le fichier tarball.gz tronqué à proximité.

Si vous utilisez "-c" avec un fichier non vide et qu'il s'avère que le serveur ne prend pas en charge la poursuite du téléchargement ("re-téléchargement"), Wget2 refusera de démarrer le téléchargement à partir de zéro, détruisant ainsi le contenu existant du fichier. Si vous souhaitez vraiment que le téléchargement recommence à zéro, supprimez le fichier.

Si vous utilisez le commutateur "-c" avec un fichier de même taille que celui du serveur, Wget2 refusera de télécharger le fichier et imprimera un message explicatif. La même chose se produit si le fichier sur le serveur est plus petit que le fichier local (probablement parce qu'il a changé sur le serveur depuis votre dernière tentative de téléchargement). Puisque "continuer" n'a pas de sens, aucun chargement n'a lieu.

De l'autre côté de la médaille, lors de l'utilisation de "-c", tout fichier plus volumineux sur le serveur que localement sera considéré comme un téléchargement incomplet et seul "(longueur (distant) - longueur (local))" sera téléchargé et ajouté à la fin du fichier local. Ce comportement peut être souhaitable dans certains cas. Par exemple, vous pouvez utiliser wget2 -c pour télécharger uniquement la nouvelle partie ajoutée à la fin des données collectées ou au fichier journal.

Cependant, si le fichier est plus volumineux sur le serveur car il a été modifié et pas seulement joint, vous vous retrouverez avec un fichier mal formé. WGET2 ne peut pas confirmer que le fichier local est bien un préfixe valide du fichier distant. Vous devez être particulièrement prudent lorsque vous utilisez -C en combinaison avec -R, car chaque fichier sera traité comme un candidat au "chargement incomplet".

Un autre cas où vous obtiendrez un fichier mal formé si vous essayez d'utiliser -c est si vous disposez d'un proxy HTTP tordu qui insère une ligne de "transfert" dans un fichier local. À l’avenir, une option « rollback » pourrait être ajoutée pour résoudre ce cas.

Notez que -c ne fonctionne qu'avec les serveurs HTTP prenant en charge l'en-tête "RANGE".

--start-pos=OFFSET
Commencez le chargement avec un décalage de position par rapport à zéro. Le décalage peut être exprimé en octets, kilobits avec le suffixe « k », ou mégaoctets avec le suffixe « m », etc.

--start-pos a priorité sur --continue. Lorsque --start-pos et --continue sont spécifiés, WGET2 émettra un avertissement de conflit.

Le serveur doit prendre en charge la poursuite du chargement, sinon --start-pos n'aidera pas. Voir la description de l'option "-c" pour plus de détails.

--progress=type
Sélectionnez le type de barre de progression que vous souhaitez utiliser. Les types d'indicateurs pris en charge sont « aucun » et « barre ».

Le type "barre" dessine un graphique avec une boule de progression ASCII (alias "Thermomètre") indiquant l'état de progression.

Si la sortie est une console TTY, alors « bar » est la valeur par défaut. Sinon, la barre de progression sera désactivée à moins que --force-progress soit utilisé.

Le type "point" n'est actuellement pas pris en charge, mais ne générera pas d'erreur afin de ne pas casser les fichiers batch WGET.

Types de panneaux paramétrés : "bar:force" et "bar:force:noscroll" ajoutent l'effet --force-progress. Ceci est fait pour une meilleure compatibilité avec WGET.

--force-progress
Permet à wget2 d'afficher une barre de progression (barre de progression).

Par défaut, Wget2 affiche uniquement la barre de progression en mode "--verbose". Cependant, quelqu'un pourrait vouloir que WGET2 affiche une barre de progression sur l'écran en combinaison avec d'autres modes tels que "-no-verbose" ou "-quiet". Il s'agit souvent d'une propriété souhaitée lors de l'appel de WGET2 pour télécharger plusieurs petits/grands fichiers. Dans un tel cas, WGET2 peut simplement être appelé avec ce paramètre pour obtenir une sortie plus nette à l'écran.

Cette option entraînera également la sortie de la barre de progression vers le flux STDERR lorsqu'elle est utilisée conjointement avec l'option "--output-file".

-N, --timestamping
Activez les horodatages des fichiers.

-no-if-modified-since
En mode "-N", n'envoyez pas l'en-tête "If-Changed-With". Au lieu de cela, envoyez la requête HEAD initiale. A un effet uniquement en mode "-N".

--no-use-server-timestamps
Ne convertissez pas la date et l'heure des fichiers locaux en dates et heures sur le serveur.

По Par défaut, lorsqu'un fichier est téléchargé, ses horodatages sont définis pour correspondre à ceux du fichier distant sur le serveur. Cela permet d’utiliser les horodatages dans les appels WGET2 ultérieurs. Cependant, il est parfois utile de laisser l'horodatage du fichier local tel qu'il était lors de son premier téléchargement ; L'option –no-server-timestamps a été fournie à cet effet.

-S, --server-response
Imprimer les en-têtes de réponse envoyés par les serveurs HTTP.

--spider
Lorsqu'il est appelé avec cette option, Wget2 se comportera comme une araignée Web, ce qui signifie qu'il ne chargera pas les pages, vérifiant simplement qu'elles sont là. Par exemple, vous pouvez utiliser wget2 pour vérifier vos favoris.

Par exemple, vous pouvez utiliser wget2 pour vérifier le fichier bookmarks.html :

wget2 --spider --force-html -i bookmarks.html

Cette fonctionnalité nécessite beaucoup plus de travail pour que Wget2 se rapproche des fonctionnalités des vrais robots Web.
-T seconds, --timeout=seconds
définissez le délai d'expiration du réseau sur quelques secondes. Cela équivaut à spécifier --dns-timeout, --connect-timeout et --read-timeout pour la même heure.
Lors de l'interaction avec le réseau, Wget2 peut vérifier un délai d'attente et abandonner l'opération si elle prend trop de temps. Cela évite les anomalies telles que les blocages de lecture et les connexions sans fin. Le seul délai d'attente activé par défaut est le délai d'attente de lecture de 900 secondes. Définir le délai d'attente sur 0 le désactive complètement. À moins que vous ne sachiez ce que vous faites, il est préférable de ne pas modifier les paramètres de délai d'expiration par défaut.

Tous les paramètres liés au délai d'attente acceptent les valeurs décimales ainsi que les valeurs fractionnaires. Par exemple, 0,1 seconde est un choix de délai d'attente légal (bien que peu judicieux). Les délais d'attente sous les partitions sont utiles pour vérifier le temps de réponse du serveur ou pour tester la latence du réseau.

--dns-timeout=seconds
Définit le délai d'expiration DNS en secondes. Les recherches DNS qui ne se terminent pas dans le délai spécifié échoueront. Par défaut, il n'y a pas de délai d'attente pour les recherches DNS, sauf pour ce qui est implémenté par les bibliothèques système.

--connect-timeout=seconds
Définit le délai d'expiration de la connexion en secondes. Les connexions TCP qui prennent plus de temps seront interrompues. Par défaut, il n'y a pas de délai d'expiration de connexion, autre que celui implémenté par les bibliothèques système.

--read-timeout=seconds
Définit le délai d'expiration de lecture (et d'écriture) sur quelques secondes. Le « temps » de ce délai d'attente fait référence à un temps d'arrêt temporaire : si à tout moment pendant le téléchargement, aucune donnée n'a été reçue pendant plus du nombre de secondes spécifié, la lecture et le téléchargement en cas d'échec sont redémarrés. Cette option n'affecte pas directement la durée de l'intégralité du téléchargement.

Bien entendu, le serveur distant peut décider de fermer la connexion avant que cette option ne prenne effet. Le délai de lecture par défaut est de 900 secondes.

--limit-rate=amount
Limite la vitesse de téléchargement en fonction du nombre d'octets par seconde. Le montant peut être exprimé en octets, kilobits avec le suffixe K ou mégaoctets avec le suffixe M. Par exemple, –limit-rate = 20K limitera le taux de récupération à 20 Ko/s. Ceci est utile lorsque, pour une raison quelconque, vous ne souhaitez pas que Wget2 consomme toute la bande passante disponible.

Cette option permet l'utilisation de nombres décimaux, généralement en combinaison avec des suffixes de dimension ; Par exemple, –limit-rate = 2,5K est une valeur légale.

Notez que WGET2 implémente une limite en se mettant en veille après le démarrage pendant un temps correspondant au temps après la lecture du réseau, ce qui a pris moins de temps que la valeur de vitesse indiquée. En fin de compte, cette stratégie entraîne un ralentissement de la transmission TCP jusqu'à environ la vitesse spécifiée. Cependant, cet équilibre peut prendre un certain temps, alors ne soyez pas surpris si la limite de vitesse ne fonctionne pas avec de très petits fichiers.

-w seconds, --wait=seconds
Attendez le nombre de secondes spécifié entre les requêtes. Il est recommandé d'utiliser cette option car elle réduit la charge sur le serveur en rendant les requêtes moins fréquentes. Au lieu de secondes, le temps peut être spécifié en minutes à l'aide du suffixe « M », en heures à l'aide du suffixe « H » ou en jours à l'aide du suffixe « D ».

Spécifier une valeur élevée pour cette option est utile si le réseau ou l'hôte de destination est en panne (en état de panne) afin que WGET2 puisse attendre suffisamment longtemps pour raisonnablement s'attendre à ce que l'erreur réseau soit corrigée avant de réessayer. L'intervalle d'attente spécifié par cette fonction est affecté par l'option "--random-wait", si elle est présente.

--waitretry=seconds
Si vous ne souhaitez pas que WGET2 attende entre chaque requête, mais uniquement entre les requêtes après l'échec des téléchargements, vous pouvez utiliser cette option. WGET2 utilisera un repli linéaire, attendant 1 seconde après le premier échec dans un fichier donné, puis attendant 2 secondes après le deuxième échec dans ce fichier, jusqu'au nombre maximum de secondes que vous spécifiez.

Par défaut, Wget2 utilise une valeur de 10 secondes.

--random-wait
Certains sites Web peuvent effectuer une analyse des journaux à la volée pour identifier les téléchargeurs de fichiers, tels que WGET2, à la recherche de similitudes statistiquement significatives dans le timing entre les requêtes. Cette option fait varier le temps entre les requêtes de 0,5 à 1,5 seconde. En utilisant l'option --random-wait, vous pouvez essayer de masquer la présence de Wget2 lors d'une telle analyse.

--no-proxy[=exceptions]
Si l'argument option n'est pas spécifié, Wget2 essaie de rester rétrocompatible avec wget1.x et de ne pas utiliser de proxy, même si la variable d'environnement *_proxy correspondante est définie.

Si l'argument de l'option est une liste d'exceptions (domaines/adresses IP) séparées par des virgules, ces exceptions seront chargées sans utiliser de proxy. L'option l'emporte sur la variable d'environnement no_proxy.

-Q quota, --quota=quota
Spécifiez un quota (limite de volume) pour le téléchargement automatique. La valeur du quota peut être spécifiée en octets (par défaut), en kilobits (suffixés par « k ») ou en mégaoctets (suffixés par « M »).

Veuillez noter que le quota n'affectera jamais le téléchargement d'un fichier single. Donc si tu précise

wget2 -q10k https://example.com/bigfile.gz

Le fichier bigfile.gz sera quand même téléchargé. La même chose se produit même lorsque plusieurs URL sont spécifiées sur la ligne de commande. Cependant, le quota sera appliqué lors d'un chargement récursif, ou selon la liste du fichier d'entrée. De cette façon, vous pouvez exécuter la commande en toute sécurité (sans craindre que votre disque dur ne soit plein) :

wget2 -q2m -i site_web

Le téléchargement sera interrompu si le quota est dépassé.

La définition du quota sur 0 ou Inf supprime la limite du quota de téléchargement.

--restrict-file-names=modes
Configurez les caractères trouvés dans les URL distantes qui doivent être remplacés par des séquences d'échappement lors de la création de noms de fichiers locaux. Les caractères interdits par cette option sont échappés, c'est-à-dire remplacés par %HH, où HH est le nombre hexadécimal correspondant au caractère interdit. Cette option peut également être utilisée pour forcer la conversion de toutes les casses alphabétiques en minuscules ou en majuscules.

Par défaut, Wget2 échappe les caractères qui ne sont pas valides ou sûrs dans les noms de fichiers de votre système d'exploitation, ainsi que les caractères de contrôle qui ne sont normalement pas affichés à l'écran. Cette option est utile pour modifier ces valeurs par défaut, peut-être parce que vous chargez le site sur une partition de système de fichiers autre que la sienne, ou parce que vous souhaitez désactiver l'échappement des caractères de contrôle, ou encore limiter davantage les caractères à ceux compris dans la plage de valeurs du jeu de caractères ASCII.

Les modes sont un ensemble de valeurs de texte séparées par des virgules. Les valeurs valides sont "unix", "windows", "nocontrol", "ascii", "minuscule" et "majuscule". Les valeurs "unix" et "windows" s'excluent mutuellement (l'une remplace l'autre), tout comme "minuscules" exclut les "majuscules". Les deux derniers sont des cas particuliers dans la mesure où ils ne modifient pas le jeu de caractères qui seront échappés, mais forcent plutôt la conversion des chemins de fichiers locaux en minuscules ou en majuscules.

КогSi la valeur est « unix », Wget2 échappe le ou les caractères et les séquences d'échappement dans les plages de caractères 0 à 31 et 128 à 159. Il s'agit de la valeur par défaut sur les systèmes d'exploitation de type Unix.

КогYes est défini sur "windows", Wget2 échappe les caractères " ", |, /, :, ?, ", *, ", " et les caractères de contrôle dans les plages 0 à 31 et 128 à 159. De plus, Wget2 en mode Windows utilise + au lieu de : pour séparer le nom d'hôte du port dans les noms de fichiers locaux, et utilise @ au lieu de ? pour séparer la partie URL du nom de fichier de la requête restante. Par conséquent, l'URL qui serait enregistrée sous www.xemacs.org:4300/search.pl?input=blah en mode Unix serait enregistré sous www.xemacs.org+4300/search.pl@in-put=blah en mode Windows. Il s'agit du mode par défaut dans le système d'exploitation Windows.

Si vous spécifiez nocontrol, l'échappement des caractères de contrôle est également désactivé. Ce paramètre peut avoir du sens lorsque vous chargez des URL dont les noms contiennent des caractères UTF-8 sur un système capable de stocker et d'afficher des noms de fichiers en UTF-8 (certaines des valeurs d'octets possibles utilisées dans les séquences d'octets UTF-8 entrent dans la plage de valeurs désignées par Wget2 comme "caractères de contrôle").

Le mode ascii est utilisé pour indiquer que tous les octets dont les valeurs se situent en dehors de la plage de caractères ASCII (c'est-à-dire supérieures à 127) doivent être échappés. Cela peut être utile lors de l'enregistrement de noms de fichiers dont l'encodage ne correspond pas à celui utilisé localement.

-4, --inet4-only, -6, --inet6-only
Forcez le programme à se connecter aux adresses IPv4 ou IPv6. Avec --inet4-only ou -4, Wget2 se connectera uniquement aux hôtes IPv4, ignorant les enregistrements AAAA dans DNS et interdisant la connexion aux adresses IPv6 spécifiées dans les URL. A l'inverse, avec –inet6-only ou -6, Wget2 se connectera uniquement aux machines IPv6 et ignorera les enregistrements A et les adresses IPv4.

Aucune de ces options n’est généralement nécessaire. Par défaut, Wget2 avec prise en charge IPv6 utilisera la famille d'adresses spécifiée dans l'enregistrement DNS de l'hôte. Si DNS répond avec des adresses IPv4 et IPv6, Wget2 les essaiera séquentiellement jusqu'à ce qu'il en trouve une à laquelle il peut se connecter. (Voir également l'option "--prefer-family" décrite ci-dessous.)

Ces paramètres peuvent être utilisés pour forcer intentionnellement l'utilisation de familles d'adresses IPv4 ou IPv6 sur des systèmes à deux familles, généralement pour faciliter le débogage ou corriger les erreurs de configuration du réseau. Une seule des options --inet6-only ou --inet4-only peut être spécifiée à la fois. Aucune des deux options n'est disponible dans Wget2 compilé sans prise en charge IPv6.

--prefer-family=none/IPv4/IPv6

Lorsque vous avez le choix entre plusieurs adresses IP, connectez-vous d'abord aux adresses avec la famille d'adresses spécifiée. L'ordre des adresses par défaut renvoyé par DNS est inchangé.

ЭтоÉvite les fausses erreurs et les tentatives de connexion lors de l'accès à des hôtes résolus en adresses IPv6 et IPv4 à partir de réseaux IPv4. Par exemple, www.kame.net résout 01:200:0:8002:203:47ff:fea5:3085 et 203.178.141.194. Lorsque la famille préférée est « IPv4 », l'adresse IPv4 est utilisée en premier ; lorsque la famille préférée est « IPv6 », l'adresse IPv6 est utilisée en premier ; s'il est défini sur "aucun", l'ordre des adresses renvoyées par DNS est utilisé inchangé.

Contrairement à -4 et -6, cette option ne refuse l'accès à aucune famille d'adresses, elle modifie uniquement l'ordre dans lequel les adresses sont accédées. Notez également que la réorganisation effectuée par cette option est stable. Cela n'affecte pas l'ordre des adresses au sein d'une même famille. Autrement dit, l'ordre relatif de toutes les adresses IPv4 et de toutes les adresses IPv6 reste le même dans tous les cas.

--tcp-fastopen
Active la prise en charge de TCP Fast Open (TFO) (par défaut : activé).

TFO réduit la latence de connexion d'1 aller-retour sur les connexions à chaud (2ème connexion au même hôte dans un certain temps).
Cela fonctionne actuellement sur les derniers noyaux Linux et OSX, sur HTTP et HTTPS.

--dns-cache-preload=file
Chargez une liste de tuples (enregistrements de ressources DNS) du fichier IP/Names dans le cache DNS.

Le format de fichier est similaire à /etc/hosts : espace d'adresse IP Nom d'hôte

Cela permet de gagner du temps dans la recherche d'un nom de domaine, ce qui constitue dans certains cas un goulot d'étranglement. De plus, cette option peut être utilisée pour simuler l'utilisation de la variable d'environnement HOSTALIASES (qui n'est pas portable sur d'autres OS).

--dns-cache
Autoriser la mise en cache DNS (par défaut : activé).

Généralement, Wget2 se souvient des adresses IP qu'il recherche dans DNS, il n'a donc pas besoin de contacter à plusieurs reprises le serveur DNS pour le même ensemble (généralement petit) d'hôtes à partir duquel il récupère. Ce cache existe uniquement en mémoire ; une nouvelle exécution de Wget2 contactera à nouveau le DNS.

ОднIl a été signalé que dans certaines situations, il n'est pas souhaitable de mettre en cache les noms d'hôte, même pour la courte durée d'une application telle que Wget2. Avec l'option --no-dns-cache, Wget2 effectue une nouvelle recherche DNS (plus précisément, un nouvel appel "gethostbyname" ou "getaddrinfo") à chaque fois qu'il établit une nouvelle connexion. Notez que ce paramètre n’affectera pas la mise en cache qui peut être effectuée par une bibliothèque de résolution ou une couche de mise en cache externe telle que NSCD.

--retry-connrefused
Considérez « connexion refusée » comme une erreur temporaire et réessayez. Généralement, Wget2 refuse une URL lorsqu'il ne parvient pas à se connecter à un site, car l'échec de la connexion est considéré comme un signe que le serveur ne fonctionne pas du tout et que réessayer ne servira à rien. Cette option est destinée à mettre en miroir des sites non fiables dont les serveurs ont tendance à disparaître pendant de courtes périodes.

--user=user, --password=password
Spécifiez un nom d'utilisateur et un mot de passe pour accéder aux fichiers via HTTP. Cela remplace la recherche des informations d'identification dans le fichier .netrc (l'option --netrc est activée par défaut). Ces deux options peuvent être remplacées en utilisant les options --http-user et --http-password pour les connexions HTTP(S).

Si ni --http-proxy-user ni --http-proxy-password ne sont spécifiés, ces paramètres sont également utilisés pour l'authentification du proxy.

--ask-password

Affichez l'invite de mot de passe sur la ligne de commande. Remplace le mot de passe défini par --password (si spécifié).

--use-askpass=command
Demande le nom d'utilisateur et le mot de passe à l'aide de la commande spécifiée. Remplace l'utilisateur et/ou le mot de passe défini par --user/--password (si spécifié).

--no-iri
Désactivez la prise en charge des URI internationalisés (IRI). Utilisez --iri pour activer. IRI est activé par défaut.

Vous pouvez définir l'état de prise en charge IRI par défaut à l'aide de la commande "iri" dans .wget2rc. Ce paramètre peut être remplacé à partir de la ligne de commande.

--local-encoding=encoding
Forcer Wget2 à utiliser l'encodage spécifié comme encodage système. Cela affecte la façon dont Wget2 convertit les URL données comme arguments du codage local en UTF-8 pour la prise en charge IRI.

Wget2 utilise la fonction "nl_langinfo()" puis la variable d'environnement "CHARSET" pour obtenir les paramètres régionaux. Si cela échoue, ASCII est utilisé.

--remote-encoding=encoding
Forcez Wget2 à utiliser l'encodage comme encodage par défaut du serveur distant. Cela affecte la façon dont Wget2 convertit les URI trouvés dans les fichiers du codage distant en UTF-8 lors de la récupération récursive. Ces options ne sont utiles que pour le support IRI, pour l'interprétation des caractères non-ASCII.

Pour HTTP, l'encodage distant peut être obtenu à partir du champ d'entête HTTP « Content-Type » et de la balise HTML « Content-Type http-equiv ».

--input-encoding=encoding
Utilisez l'encodage spécifié pour le fichier d'entrée --input-file avec une liste d'URL. Par défaut, l'encodage local est utilisé.

--unlink
Faites en sorte que Wget2 dissocie un fichier au lieu d'écraser un fichier existant. (Voir -nc ci-dessus pour référence de purée). Cette option est utile pour télécharger vers un répertoire avec des liens physiques.

--cut-url-get-vars
Supprimez les paramètres HTTP GET des noms de fichiers lors des requêtes adressées au serveur. Par exemple, « main.css?v=123 » sera remplacé par « main.css ». Sachez que cela peut avoir des effets secondaires involontaires, par exemple « image.php?name=sun » sera remplacé par « image.php ». Le découpage a lieu avant que les URL ne soient ajoutées à la file d'attente de téléchargement.

--cut-file-get-vars
Supprimez les variables HTTP GET des noms de fichiers. Par exemple, « main.css?v=123 » sera remplacé par « main.css ».

Sachez que cela peut avoir des effets secondaires involontaires, par exemple « image.php?name=sun » sera remplacé par « image.php ». Le recadrage se produit lors de l'enregistrement du fichier après le téléchargement.

Les noms de fichiers dérivés de l'en-tête « Content-Disposition » ne sont pas affectés par cette option (voir --content-disposition) et peuvent constituer une solution de contournement à ce problème.

Lorsque « --trust-server-names » est utilisé, ce paramètre affecte l'URL lors de la redirection.

--chunk-size=size
Chargez des fichiers volumineux en plusieurs morceaux multithread. Ce commutateur spécifie la taille du bloc, spécifiée en octets, sauf si un autre multiple d'octets est spécifié. La valeur par défaut est 0/désactivé.

--max-threads=number
Spécifie le nombre maximum de threads de téléchargement simultanés pour une ressource. La valeur par défaut est 5, mais si vous souhaitez autoriser plus ou moins, utilisez cette option.

-s, --verify-sig[=fail|no-fail]
Active la vérification de la signature PGP (s'il n'y a pas de préfixe « non- »). Lorsqu'il est activé, Wget2 tentera de télécharger et de vérifier les signatures PGP sur les fichiers correspondants. Tout fichier téléchargé dont le type de contenu commence par application/pgp-signature amènera Wget2 à demander une signature pour ce fichier.

Le nom du fichier de signature est calculé en ajoutant l'extension au chemin complet du fichier qui vient d'être téléchargé.
L'extension utilisée est déterminée par l'option "--signature-extensions". Si le type de contenu de la demande de signature est application/pgp-signature, Wget2 tentera de vérifier la signature par rapport au fichier source. Par défaut, si le fichier de signature est introuvable (c'est-à-dire qu'une requête reçoit un code d'état 404), Wget2 se terminera avec un code d'erreur.

Ce comportement peut être configuré à l'aide des arguments suivants :
*échouer*: Il s'agit de la valeur par défaut, c'est-à-dire la valeur lorsque vous spécifiez l'indicateur sans argument. Indique que les fichiers de signature manquants entraîneront la fermeture de Wget2 avec un code d'erreur.
sans échec**: Cette valeur résout les fichiers de signatures manquants. Le message 404 sera toujours émis, mais le programme continuera à fonctionner normalement (en supposant qu'il n'y ait pas d'erreurs sans rapport).

En plus de cela,--no-verify-sig désactive complètement la vérification de signature. --no-verify-sig ne permet pas les arguments.

--signature-extensions
Spécifie les extensions de fichier pour les fichiers de signature sans le caractère ".". Vous pouvez répertorier plusieurs extensions sous forme de liste séparée par des virgules. Toutes les extensions fournies seront essayées simultanément lors de la recherche du fichier de signature. La valeur par défaut est « sig ».

--gnupg-homedir
Spécifie le répertoire personnel gnupg à utiliser lors de la vérification des signatures PGP des fichiers téléchargés. La valeur par défaut est votre répertoire personnel sur le système d'exploitation.

--verify-save-failed
Indique à Wget2 de sauvegarder les fichiers qui échouent à la vérification de la signature PGP. Par défaut, les fichiers qui échouent à la vérification PGP sont supprimés.

--xattr
Save document metadata as “user POSIX Extended Attributes” (default: enabled). This feature only works if the file system supports it. More information at https://freedesktop.org/wiki/CommonExtendedAttributes.

Actuellement, Wget2 définit les attributs

  • utilisateur.xdg.origin.url
  • utilisateur.xdg.referrer.url
  • utilisateur.mime_type
  • utilisateur.charset

Pour afficher les attributs de fichier étendus (sous Linux) :getfattr -d \«fichier\»

--metalink
Explore/process metalink URLs without saving them (default: enabled).

Les fichiers Metalink metalink décrivent les téléchargements, notamment les miroirs, les fichiers, les sommes de contrôle et les signatures. Cela permet les téléchargements à partir de plusieurs parties, la sélection automatique du miroir le plus proche et la vérification de l'intégrité du fichier téléchargé.

--fsync-policy
Permet l'exécution de la commande sync une fois le téléchargement de chaque fichier terminé (par défaut : désactivé).

--http2-request-window=number
Définit le nombre maximum de threads parallèles sur une connexion HTTP/2 (par défaut : 30).

--keep-extension
Cette option modifie le comportement de création d'un nom de fichier unique si un fichier existe déjà.
Cette option modifie le comportement lors de la création d'un nom de fichier unique si le fichier existe déjà.

Le modèle standard (par défaut) pour les noms de fichiers est « filename ». « N ». Le nouveau modèle est « basename »._N ».« ext ».
L'idée est d'utiliser de tels fichiers sans les renommer lors de leur ouverture avec des applications qui dépendent de l'extension, comme sous Windows.

Cette option ne change pas le comportement --backups.

Options du répertoire

-nd, --no-directories
Ne créez pas de hiérarchie de répertoires lors d'une extraction récursive. Si cette option est activée, tous les fichiers seront enregistrés dans le répertoire courant sans écrasement (si le nom apparaît plus d'une fois, les noms de fichiers auront l'extension .n, où n est un nombre entier).

-x, --force-directories
Ci-contre -nd: créer une hiérarchie de répertoires même s'ils n'auraient pas été créés autrement.
Par exemple,wget2 -x https://example.com/robots.txt enregistrera le fichier téléchargé dans le dossier example.com/robots.txt.

-nH, --no-host-directories
Désactive la création de répertoires nommés comme préfixes d'hôte. Par défaut, appeler Wget2 avec le commutateur de récursion -r https://example.com/ créera une structure de dossiers commençant par example.com/. Cette option désactive ce comportement.

--protocol-directories
Utilisez le nom du protocole dans le nom du répertoire contenant les fichiers locaux. Par exemple, avec cette option : wget2 -r --protocol-directories https://example.com sera enregistré dans https/example.com/... et pas seulement example.com/....

--cut-dirs=number
Ignorez les numéros dans le composant répertoire. Ceci est utile pour obtenir un contrôle précis sur le répertoire dans lequel la recherche récursive sera stockée.

Prenons, par exemple, le répertoire "https://example.com/pub/sub/". Si vous l'obtenez avec -r, il sera enregistré localement sur "example.com/pub/sub/". Bien que l'option -nH puisse supprimer la partie "example.com/", vous obtiendrez toujours "pub/sub/".

Cela sera utile --cut-dirs; de ce fait, Wget2 ne «voit» pas certains éléments du répertoire distant. Voici quelques exemples illustrant le fonctionnement de ce paramètre. --cut-dirs.

Aucune option -» exemple.com/pub/sub/

--cut-dirs=1 -» exemple.com/sub/
--cut-dirs=2 -» exemple.com/

-nH -» /pub/sub/
-nH --cut-dirs=1 -» sub/
-nH --cut-dirs=2 -» .

Si vous souhaitez simplement vous débarrasser de la structure des répertoires, cette option est comme une combinaison de -nd et -P. Cependant, contrairement à -nd, --cut-dirs ne perdra pas les sous-répertoires. Par exemple, avec -nH --cut-dirs=1 sous-répertoire bêta/ sera placé dans sous/bêta/, comme on peut s'y attendre.

-P prefix, --directory-prefix=prefix
Définissez le préfixe du répertoire sur "prefix". Le préfixe du répertoire est le répertoire dans lequel tous les autres fichiers et sous-répertoires seront stockés, c'est-à-dire le haut de l'arborescence de recherche. La valeur par défaut est ".", le répertoire courant. Si le préfixe du répertoire n'existe pas, il sera créé.

Options HTTP et HTTPS

Voir Partie 2 de l'article.

Options d'extraction récursive

-r, --récursif
Activer l'extraction récursive. La profondeur d'extraction maximale par défaut est de 5.

-l profondeur, --level=profondeur
Spécifier la profondeur de récursion maximale dans les niveaux de profondeur

--delete-après
Cette option indique à Wget2 de supprimer tous les fichiers qu'il télécharge après cela. Cela peut être utile pour précharger des pages populaires via des serveurs proxy, par exemple :

wget2 -r -nd --delete-after https://example.com/~popular/page/

Où l'option est -r pour l'extraction récursive et -nd - ne crée pas de répertoires.

Notez que lorsque --delete-after est spécifié, l'autre option --convert-links est ignorée, donc les fichiers .orig ne sont tout simplement pas créés en premier lieu.

-k, --convert-liens
Une fois le téléchargement terminé, convertissez les liens du document pour les rendre adaptés à une visualisation locale. Cela affecte non seulement les hyperliens visibles, mais également toute partie du document qui renvoie à du contenu externe, comme les images en ligne, les liens vers des feuilles de style, les hyperliens vers du contenu non HTML, etc.

Chaque lien sera modifié d'une ou deux manières :

  1. Les liens vers les fichiers téléchargés par Wget2 seront modifiés pour devenir un lien vers le fichier vers lequel il pointe, pour devenir un lien de fichier relatif.

Exemple : si le fichier chargé /foo/doc.html est lié à /bar/img.gif, également chargé, alors le lien dans le fichier doc.html sera modifié pour pointer vers ../bar/img.gif. Les transformations de ce type fonctionnent de manière fiable pour toute combinaison de répertoires.

  1. Les liens vers les fichiers qui n'ont pas encore été téléchargés par Wget2 seront modifiés pour inclure le nom d'hôte et le chemin absolu vers l'emplacement vers lequel ils pointent.

Exemple : si le fichier chargé /foo/doc.html renvoie à /bar/img.gif (ou ../bar/img.gif), alors le lien est dans doc.html
sera modifié pour pointer vers https://example.com/bar/img.gif.

Cela rend la navigation locale fiable : si un fichier lié a été téléchargé, le lien fera référence à son nom local ; s'il n'a pas été téléchargé, le lien pointera vers son adresse Internet complète plutôt que vers un lien rompu. Le fait que les anciens liens soient convertis en liens relatifs garantit que vous pouvez déplacer la hiérarchie des dossiers téléchargés vers un autre répertoire.

Veuillez noter que ce n'est qu'à la fin du téléchargement que vous pourrez savoir quels liens ont été téléchargés. Pour cette raison, le travail effectué avec -k sera effectué à la fin de tous les téléchargements.

--convert-file-only
Cette option résout uniquement la partie nom de fichier de l’URL, laissant les URL restantes intactes. Cette partie du nom de fichier est parfois appelée « nom de base », bien que nous évitions ce terme ici pour éviter toute confusion.

Cette option fonctionne particulièrement bien en combinaison avec --adjust-extension, bien que cette option ne soit pas forcée. Remplir les caches Internet peut être utile lors du téléchargement de fichiers à partir de différents hôtes.

Exemple : si un lien pointe vers //foo.com/bar.cgi?xyz , avec l'option --adjust-extension spécifiée, sa destination locale serait supposée être ./foo.com/bar.cgi?xyz.css, alors le lien serait remplacé par //foo.com/bar.cgi?xyz.css. Veuillez noter que seule la partie nom de fichier du lien sera modifiée. Le reste de l'URL restera inchangé, y compris le chemin réseau (« // ») qui serait autrement traité par Wget2 et converti selon le schéma applicable (par exemple, « https:// »).

-K, --sauvegarde-convertie
When converting a file, save the original file with the suffix .orig. Affecte l'option -N (horodatage).

-m, --miroir
Comprend des options adaptées à la mise en miroir. This option enables recursion and timestamps, and sets the recursion levels to infinite depth.
Currently it is equal to the combination of options -r -N -l inf.

-p, --page-requisites
This option causes Wget2 to download all the files that are needed to display the web page correctly. Things like embedded images, sounds, and referenced style sheets.

Lors du chargement normal d'une seule page HTML, tous les documents nécessaires qui pourraient être requis pour l'afficher correctement ne sont pas chargés.
Utiliser -r avec -l peut aider, mais comme Wget2 ne fait généralement pas de différence entre les documents externes et intégrés, les premiers restent pour la plupart des « documents enfants » dépourvus des ressources requises.

Par exemple, supposons que le document 1.html contienne la balise « IMG » faisant référence à 1.gif et la balise « A » pointant vers le document externe 2.html. Soit 2.html similaire au premier, avec un lien vers l'image 2.gif et un lien vers le document 3.html. Que cela continue indéfiniment.

Si nous exécutons la commande :

wget2 -r -l 2 https://«site»/1.html

puis 1.html, 1.gif, 2.html, 2.gif et 3.html seront chargés. Comme vous pouvez le voir, 3.html est sans le 3.gif requis
parce que Wget2 compte simplement le nombre de "sauts" (jusqu'à 2) à partir du 1.html (initial) pour déterminer où arrêter la récursivité. Cependant, avec la commande :

wget2 -r -l 2 -p https://«site»/1.html

Tous les fichiers ci-dessus et le dessin 3.html requis 3.gif seront téléchargés.

De même, l'équipe

wget2 -r -l 1 -p https://«site»/1.html

chargera 1.html, 1.gif, 2.html et 2.gif. Certains pourraient penser que :

wget2 -r -l 0 -p https://«site»/1.html

ne chargera que 1.html et 1.gif, mais malheureusement ce n'est pas le cas, car -l 0 est l'équivalent de -l inf, qui est une récursivité infinie.

Pour charger une seule page HTML (ou, par commodité, toutes celles spécifiées sur la ligne de commande ou dans le fichier d'entrée de l'URL -i) et ses (ou leurs) ressources requises, supprimez simplement les -r et -l :

wget2 -p https://«site»/1.html

Remarque : Wget2 se comportera comme si le commutateur -r était spécifié, mais uniquement pour une page, toutes les ressources nécessaires à son affichage seront téléchargées.
Les liens de cette page vers d’autres documents externes ne seront pas suivis. En fait, pour charger une page Web avec tous les éléments nécessaires (même s'ils existent sur différents sites Web), et pour être sûr que la page Web s'affichera correctement depuis le disque local, cet auteur aime utiliser -p avec un peu de remplissage :

wget2 -E -H -k -K -p https://«site»/«document»

où -E - ajoute des extensions aux noms de fichiers
-H - déplacer vers d'autres hôtes lors de la récupération
-k - convertir les liens pour une visualisation locale
-K - enregistre les copies de sauvegarde des fichiers sources avec l'extension .orig
-p - extrait tous les fichiers nécessaires à l'affichage de la page

Pour terminer ce sujet, sachez que Wget2 considère toute URL spécifiée dans les balises "A", "AREA" ou "LINK" comme un lien externe. sauf pour « LINK REL="stylesheet"".

--strict-comments
Option obsolète pour la compatibilité avec Wget1.x. Wget2 ajoute toujours une balise de commentaire de fermeture, tout comme les navigateurs populaires.

--robots
Activer le respect de la norme d'exclusion des robots (par défaut : activé).

Pour chaque domaine que vous visitez, suivez les règles répertoriées dans /robots.txt. Vous devez respecter les règles du propriétaire du domaine et ne le désactiver que pour de très bonnes raisons.

Qu'il soit activé ou non, le fichier robots.txt est chargé et analysé pour les plans de site. Il s'agit de listes de pages/fichiers disponibles en téléchargement qui ne sont pas nécessairement disponibles via une exploration récursive.

Ce comportement peut être désactivé en utilisant --no-follow-sitemaps.

Options d'acceptation/rejet récursives

-A acclist, --accept=acclist
-R rejlist, --reject=rejlist

Spécifiez des listes de suffixes ou de modèles de nom de fichier séparés par des virgules à accepter ou à rejeter. Notez que si l'un des caractères génériques , ?, [, ] apparaît dans un élément acclist ou rejlist, il sera traité comme un modèle plutôt que comme un suffixe.
Dans ce cas, vous devez mettre le modèle entre guillemets pour empêcher votre shell de le développer, par exemple dans -A "
.mp3" ou -A '*.mp3'.

--accept-regex=urlregex
--reject-regex=urlregex

Spécifiez une expression régulière pour accepter ou rejeter les noms de fichiers.

--regex-type=regextype
Spécifiez le type d'expression régulière. Types possibles : posix ou pcre. Notez que pour utiliser le type pcre, wget2 doit être compilé avec le support libpcre.

--filter-urls
Appliquez des filtres d'acceptation et de rejet à l'URL avant de commencer le téléchargement.

-D domain-list, --domains=domain-list
Définissez les domaines à surveiller. domain-list est une liste de domaines séparés par des virgules. Notez qu'il n'inclut pas -H.

--exclude-domains=domain-list
Spécifiez une liste de domaines dont le programme ne suivra pas les liens.

--follow-sitemaps
Analyse du plan du site à partir de robots.txt et des liens suivants. (par défaut : activé).

Cette option est activée pour les téléchargements récursifs, que vous spécifiiez --robots ou -no-robots. Le suivi des URL trouvées dans les plans de site peut être désactivé à l'aide de --no-follow-sitemaps.

--follow-tags=list
Wget2 dispose d'un tableau interne de paires balise/attribut HTML qu'il prend en compte lors de la recherche de documents associés lors d'une recherche récursive. Cependant, si l'utilisateur souhaite que seul un sous-ensemble de ces balises soit pris en compte, il doit spécifier ces balises dans une liste séparée par des virgules à l'aide de cette option.

--ignore-tags=list
C'est l'opposé de l'option --follow-tags. Pour ignorer certaines balises HTML lors de la recherche récursive de documents à télécharger, répertoriez-les séparées par des virgules.

Dans le passé, cette option était le meilleur choix pour charger une seule page et ses détails à l'aide de la ligne de commande, par exemple :

wget2 --ignore-tags=a,area -H -k -K -r https://site/document

Cependant, l'auteur de cette option est tombé sur une page avec des balises telles que "" et est arrivé à la conclusion que spécifier les balises à ignorer n'était pas suffisant. Vous ne pouvez pas simplement dire à Wget2 d'ignorer "" car les feuilles de style ne seront pas chargées. Désormais, le meilleur choix pour charger une seule page et ses détails est l'option spéciale --page-requisites.

--ignore-case
Ignorez la casse lors de la correspondance des fichiers et des répertoires. Cela affecte le comportement des options -R, -A, -I et -X. Par exemple, l'option -A "*.txt" acceptera les fichiers file1.txt, et file2.TXT, file3.TxT, etc.

-H, --span-hosts
Permet les transitions entre les hôtes lors de l'exécution d'une extraction récursive.

-L, --relative [Pas encore implémenté]
Suivez uniquement les liens relatifs. Utile pour récupérer une page d'accueil spécifique sans aucune distraction, même de la part des mêmes hôtes.

-I list, --include-directories=list
Spécifiez une liste de répertoires séparés par des virgules que vous souhaitez suivre lors du téléchargement. Les éléments de liste peuvent contenir des caractères génériques.

wget2 -r https://webpage.domain --include-directories=*/pub/*/

Veuillez garder à l'esprit que /pub// est identique à //pub// et correspond à des répertoires, pas à des chaînes. Cela signifie que /pub n'affecte pas les fichiers contenus dans, par exemple, /directory/something/pub, mais /pub/ correspond à chaque sous-répertoire de /pub. -X list, --exclude-directories=list
spécifiez une liste de répertoires séparés par des virgules que vous souhaitez exclure du téléchargement. Les éléments de liste peuvent contenir des caractères génériques.

wget2 -r https://gnu.org --exclude-directories=/software

-I / -X combinations
Spécifiez dans une seule commande une liste de répertoires séparés par des virgules que Wget2 devrait/ne devrait pas suivre lors du téléchargement. Les éléments de liste peuvent contenir des caractères génériques.
Gardez à l’esprit que Wget2 se comporte légèrement différemment avec cette combinaison d’indicateurs que wget1.x.
Si l'option -I est donnée en premier, la valeur par défaut est "tout exclure". Si -X est spécifié en premier, la valeur par défaut est "tout activer".
Plusieurs options -I/-X sont traitées "de bout en bout". Le dernier match est pertinent.

Exemple :wget2 -I /pub -X /pub/trash téléchargera tout depuis /pub/ sauf /pub/trash.
Exemple :wget2 -X /pub -I /pub/important chargera tout sauf /pub dans lequel seule la section /pub/important sera chargée.
pour réinitialiser la liste (c'est-à-dire ignorer -I/-X des fichiers .wget2rc), utilisez --no-include-directories ou --no-exclude-directories.

-np, --no-parent
Ne remontez jamais dans le répertoire parent lors d'un chargement avec récursion. Il s'agit d'une option utile car elle garantit que seuls les fichiers situés en dessous d'une certaine hiérarchie sont chargés.

--filter-mime-type=list
Fournissez une liste de types MIME à charger, séparés par des virgules. Les éléments de liste peuvent contenir des caractères génériques. Si le type MIME commence par le caractère "!", Le téléchargement ne sera pas effectué ; ceci est utile lorsqu'on tente de télécharger un fichier avec une exception. Si le serveur ne spécifie pas le type MIME du fichier, il sera traité comme ‘application/octet-stream‘. Par exemple, téléchargez tout sauf les images :
wget2 -r https://site/document --filter-mime-type=*,\!image/*

c'est également une bonne idée de télécharger des fichiers compatibles avec votre système d'exploitation. Par exemple, pour télécharger tous les fichiers compatibles LibreOffice Writer depuis un site Web en mode récursif :

wget2 -r https://site/document --filter-mime-type=$(sed -r '/^MimeType=/!d;s/^MimeType=//;s/;/,/g' /usr/share/applications/libreoffice-writer.desktop)

Options du plugin, codes de sortie, débogage Wget2

Voir deuxième partie de l'article.



Publications connexes