Un bref comparatif des fonctionnalités et de la syntaxe
( adaptation et résumé personnels de l’article suivant:
GNU Linux pratique HS35 octobre,novembre 2007, p50-52 )
Comparaison de cURL et wget
TÉLÉCHARGEMENT NON INTERACTIF
En général:
wget:
- plus facile, récursif[size=85][[pas simplement une arborescence de fichiers, mais les fichiers liés/inclus, comme les liens html, façon googlebot]][/size]
- développement arrété ( mais solide ! )
cURL:
- upload
- plus étendu, bibliothèque
I TÉLÉCHARGEMENT (DOWNLOAD):
wget Téléchargement récursif
wget curl HTTP, HTTPS, FTP
curl FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP, FILE
II TÉLÉEXPÉDITION (UPLOAD)
curl
III BIBLIOTHEQUES
libcurl PHP, PERL,PYTHON, JAVA etc…
(cURL est une interface ligne de commande pour libcurl)
SYNTAXES
TÉLÉCHARGER dans le répertoire courant[size=85][[même nom relatif]][/size]:
wget http://une/url/fichier
curl -O http://une/url/fichier # -O == --remote-name
TÉLÉCHARGER AVEC UN NOM DE DESTINATION:
wget -O=./un/nom http://une/url/fichier
curl -o ./un/nom http://une/url/fichier # incompatible avec -O
ÉCRASER UN FICHIER PRÉÉXISTANT:
wget n’écrase pas un fichier préexistant: renomme (fichier1 ,fichier2 etc…)
REPRENDRE UN TÉLÉCHARGEMENT INTERROMPU:[size=85][[ ou: chargement réitéré d’un fichier évolutif (log) ]][/size]
wget -c # ou "--continue "
curl -C # ou "--continue-at - "
TÉLÉCHARGER PLUSIEURS FICHIERS:
wget http://une/url/fichierA http://une/url/fichierB
wget -O -O http://une/url/fichierA http://une/url/fichierB # 2fois -O pour 2 fichiers
curl -O -O http://une/url/{fichierA,fichierB} # 2fois -O pour 2 fichiers
MOT DE PASSE EXIGÉ:
wget --user=un_nom --passwd=mot_de_passe
curl -u un_nom:mot_de_passe
LIMITER LE DEBIT:
wget --limit-rate=250k
curl --limit-rate 250k
FICHIERS DE CONFIGURATION:[size=85][[pour ne pas saisir sans cesse les mêmes options]][/size]
[code]~/.wgetrc
/etc/wgetrc
~/.curlrc
~/.netrc avec l’option --netrc[/code]
TÉLÉCHARGEMENT RÉCURSIF avec WGET:
IMPORTANT:
1 Affichage hors-ligne d’une page html:
Ici, la récursivité de wget ne concerne pas l’arborescence d’un répertoire.
Elle indique la faculté de wget à télécharger les liens inclus dans le fichier demandé ( html en général ).
wget -e robots=off -E -p http:///www.url/fichier.html
wget -p : permet d'inclure les fichiers liés ( liens directs de cette page )
wget --page-requisites : permet d'inclure les fichiers liés ( liens directs de cette page )
RÉINCLURE LES RÉPERTOIRES EXCLUS:
[code] wget -e robots=off # réinclus les répertoires “à ne pas indexer” selon robots.txt (parfois:css, images… )
wget -E # ajoute automatiquement .html au nom du fichier (ex index.php devient index.php.html )
wget --html-extension # ajoute automatiquement .html au nom du fichier (ex index.php devient index.php.html )[/code]
2 TÉLÉCHARGEMENT RÉCURSIF
Suivre TOUS les liens, à la façon de googlebot ( 5 niveaux maximum )
wget -r
wget --recursive
Suivre TOUS les liens, à la façon de googlebot ( X niveaux maximum )
wget -r -l X
wget --recursive -l X
( si X = 1 , plus complet que -p [[size=85][si j’ai bien compris: à explorer]][/size])
wget -r -l inf # niveaux illimités (infinis) DANGER
wget -r -np # Ne charge pas les liens de la hiérachie parente
wget --recursive --no-parent # Ne charge pas les liens de la hiérachie parente
3 MIROIR
wget -m # équivaut à: -r -N -l inf -nr (ATTENTION!)
wget --mirror # équivaut à: -r -N -l inf -nr (ATTENTION!)
Plus:
man wget
http://www.gnu.org/software/wget
man curl
http://curl.haxx.se
man puf / puf -h
( puf est présenté comme un wget qui permet le téléchargement de plusieurs sources en paralléle )