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
wgetTÉLÉCHARGEMENT NON INTERACTIF
En général:
wget:
+ plus facile, récursif
[[pas simplement une arborescence de fichiers, mais les fichiers liés/inclus, comme les liens html, façon googlebot]]- développement arrété ( mais solide ! )
cURL:
+ upload
+ plus étendu, bibliothèque
- pas d'option récursivité
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)
curlIII BIBLIOTHEQUES
libcurl PHP, PERL,PYTHON, JAVA etc..
(
cURL est une interface ligne de commande pour
libcurl)
--------------------------------------------------
SYNTAXESTÉLÉCHARGER dans le répertoire courant
[[même nom relatif]]:
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:
wget n'écrase pas un fichier préexistant: renomme (fichier1 ,fichier2 etc..)
Code:
wget -nc / --no-clobber # désactive ce comportement
REPRENDRE UN TÉLÉCHARGEMENT INTERROMPU:
[[ ou: chargement réitéré d'un fichier évolutif (log) ]]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
FICHIERS DE CONFIGURATION:
[[pour ne pas saisir sans cesse les mêmes options]]Code:
~/.wgetrc
/etc/wgetrc
~/.curlrc
~/.netrc avec l'option --netrc
--------------------------------------------------
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 ).
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ÉCURSIFSuivre 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 [
[si j'ai bien compris: à explorer]])
Code:
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 MIROIRCode:
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/wgetman curl
http://curl.haxx.seman puf
( puf est présenté comme un wget qui permet le téléchargement de plusieurs sources en paralléle )