[Linux] Wget -r -l <number> ne marche pas si `Content-Encoding: gzip`

Cyril Chaboisseau cyril.chaboisseau@::1
Ven 29 Mai 00:11:23 CEST 2009


* Olemis Lang <olemis@::1> [2009-05-28 11:40 -0500]:

> Je viens d'essayer de télécharger plusieurs pages comme je montre ci-dessous:
> 
> {{{
> $ wget -k -F -r -l 2 <url>
> }}}

lorsque l'on fait un wget récursif (-r), il est intéressant d'utiliser
l'option -np / --no-parent lorsque l'on veut prendre seulement une
sous-arborescence
ainsi que l'option -p / --page-requisites pour télécharger les
différents éléments que contient la page (CSS, JavaScript, images...)

wget est très puissant et permet de gérer tout plein de paramètres (cf.
le man pour s'en rendre compte)

> Mais j'ai trouvé q ça ne marche pas parce q je n'obtiens qu'une page
> (même si cette page-là contient bcp de liens ;) Ensuite j'ai essayé
> 
> {{{
> $ wget -S <url>
> --12:16:13--  <url>
>            => `index.html'
> [...]
> HTTP request sent, awaiting response...
>   HTTP/1.0 200 OK
> [...]
>   Content-Encoding: gzip
> Length: unspecified [text/html]

c'est une lacune de wget qui ne gère pas le téléchargement de contenu
compressé

voici le bug Debian ouvert il y a 7 ans à ce sujet
http://bugs.debian.org/150766

j'imagine que le moyen de le contourner serait d'empêcher la compression
par exemple en faisant le téléchargement en HTTP/1.0 quitte à passer par
un proxy local tel que polipo qui continuera en 1.1 jusqu'au serveur
distant


pour les allergiques de la ligne de commande, HTTrack est aussi très
puissant, multi-OS et tjrs maintenu
http://www.httrack.com/

-- 
	Cyril Chaboisseau


Plus d'informations sur la liste de diffusion linux