Joseph Tux

wget versus curl

Un résumé des principales fonctions et des syntaxes
vendredi 29 avril 2011

Intro

Comparaison de curl et wget

L’article initial

Un bref comparatif des fonctionnalités et de la syntaxe [1]

TÉLÉCHARGEMENT NON INTERACTIF

En général :

wget :
+ plus facile, récursif [2]
- développement arrété ( mais solide ! )

cURL :
+ téléexpédition [3]
+ plus étendu, bibliothèque
- pas d’option « récursivité »

I TÉLÉCHARGEMENT [4]
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 [5]
curl
wput [6]

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 [7] :
Code :
wget    http://une/url/fichier
curl -O http://une/url/fichier # -O == —remote-name

TÉLÉCHARGER AVEC UN NOM DE DESTINATION :
Code :
wget -O=./un/nom  http://une/url/fichier
curl -o ./un/nom  http://une/url/fichier # incompatible avec -O

ÉCRASER UN FICHIER PRÉÉXISTANT :
par défaut, wget n’écrase pas un fichier préexistant : renomme (fichier1 ,fichier2 etc..)
Code :
wget -nc ou wget--no-clobber # désactive ce comportement

REPRENDRE UN TÉLÉCHARGEMENT INTERROMPU : [8]
Code :
wget -c # ou « —continue »
curl -C # ou « —continue-at - »

TÉLÉCHARGER PLUSIEURS FICHIERS :
Code :
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É :
Code :
wget --user=un_nom --passwd=mot_de_passe
curl -u un_nom:mot_de_passe

LIMITER LE DEBIT :
Code :
wget --limit-rate=250k
curl --limit-rate 250k

CONFIGURATION

FICHIERS DE CONFIGURATION :<span class= [9]' />

 /.wgetrc
/etc/wgetrc

 /.curlrc
 /.netrc avec l’option —netrc

TÉLÉCHARGEMENT RÉCURSIF

Seulement 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 ).

Code :
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 )

2 TÉLÉCHARGEMENT RÉCURSIF
Suivre TOUS les liens, à la façon de googlebot ( 5 niveaux maximum )
Code :
wget -r
wget --recursive

Suivre TOUS les liens, à la façon de googlebot ( X niveaux maximum )
Code :
wget -r -l X
wget --recursive -l X

( si X = 1 , plus complet que -p [10])

Code :
wget -r -l inf # niveaux illimités (infinis) DANGER
wget -r -np # Ne charge pas les liens de la hiérachie parente = un site complet,(-r) sans les pages liées externes au site ( -np , —no-parent)
wget --recursive --no-parent # Ne charge pas les liens de la hiérachie parente

3 MIROIR
Code :
wget -m # équivaut à : -r -N -l inf -nr (ATTENTION !)
wget --mirror # équivaut à : -r -N -l inf -nr (ATTENTION !)

Plus

En Français

sc>Très pratique :
Un résumé des options en français

Doc Ubuntu

En Anglo-Etatsuniens

man wget
http://www.gnu.org/software/wget

man curl
http://curl.haxx.se

man puf
( puf est présenté comme un wget qui permet le téléchargement de plusieurs sources en paralléle )

Autres

wput : client-ftp, inspiré de wget, mais pour la téléexpédition [11] de fichiers ou de répertoires vers un serveur ftp

Autres logiciels de téléchargement en ligne de commande

- pwget (en Perl ; inspiré par wget avec des fonctionnalités de filtre et de recherche )
- aria2 ( Aria2 is a command line download client with resuming and segmented downloading. Supported protocols are HTTP/HTTPS/FTP/BitTorrent and it also supports Metalink.)
- snarf ( inspiré de wget, binaire plus petit .. borff ..)

[1adaptation et résumé personnels inspirés par l’article suivant :
GNU Linux pratique HS35 (octobre,novembre 2007), p50-52

[2pas simplement une arborescence de fichiers, mais les fichiers liés/inclus, comme les liens html, façon googlebot

[3téléversement, upload

[4DOWNLOAD

[5UPLOAD

[6c’ est un logiciel inspiré par wget

[7même nom de base

[8ou : chargement réitéré d’un fichier évolutif (log)

[9pour ne pas saisir sans cesse les mêmes options

[10si j’ai bien compris : à explorer

[11téléversement, upload

Voir en ligne : Man page en français

Accueil | Contact | Plan du site | | Statistiques du site | Visiteurs : 206 / 59180

Suivre la vie du site fr  Suivre la vie du site GNU, LINUX, BSD, LL  Suivre la vie du site AIDES GNU/LINUX  Suivre la vie du site Réseaux   ?

Site réalisé avec SPIP 3.1.6 + AHUNTSIC

Creative Commons License