Ces deux curl
et wget
sont l' utilisation pour le téléchargement de fichiers, etc. Y at - il raison d'utiliser un sur l'autre?
Ces deux curl
et wget
sont l' utilisation pour le téléchargement de fichiers, etc. Y at - il raison d'utiliser un sur l'autre?
Réponses:
Après avoir défini "bon usage", utilisez wget
.
Pourquoi? Voilà pourquoi:
Récursif! Le principal atout de wget par rapport à curl est sa capacité à télécharger de manière récursive, ou même simplement à télécharger tout ce qui est référencé depuis une ressource distante, qu'il s'agisse d'une page HTML ou d'une liste de répertoires FTP.
Shameless copié d' ici
curl
bibliothèque . curl
est alimenté par libcurl
- une bibliothèque multiplate-forme avec une API stable qui peut être utilisée par tout un chacun. Cette différence est majeure car elle crée une attitude complètement différente sur la manière de faire les choses en interne. Il est également légèrement plus difficile de créer une bibliothèque qu'un "simple" outil de ligne de commande.
des pipes . curl
fonctionne plus comme la cat
commande Unix traditionnelle , il envoie plus de choses à stdout
, et lit plus de stdin
manière "tout est une pipe". wget
est plus comme cp
, en utilisant le même analogue.
Coup unique . curl
est essentiellement fait pour faire des transferts de données en un seul coup. Il transfère uniquement les URL spécifiées par l'utilisateur et ne contient aucune logique de téléchargement récursif ni aucun type d'analyseur HTML.
Plus de protocoles . curl
prend en charge FTP, FTPS, Gopher, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, POP3, IMAP, SMB / CIFS, SMTP, RTMP et RTSP. Wget ne supporte que HTTP, HTTPS et FTP.
Plus portable . curl
construit et fonctionne sur beaucoup plus de plates-formes que wget
. Par exemple: OS / 400, TPF et d'autres plates-formes plus "exotiques" qui ne sont pas des clones Unix simples.
Plus de bibliothèques SSL et support SSL . curl
peut être construit avec une bibliothèque SSL / TLS parmi onze (11!), et offre plus de contrôle et une prise en charge plus étendue des détails de protocole. curl
prend en charge l'épinglage de clés publiques.
Authentification HTTP . curl
prend en charge davantage de méthodes d'authentification HTTP, en particulier sur les serveurs proxy HTTP: Basic, Digest, NTLM et Negotiate
CHAUSSETTES . curl
prend en charge plusieurs versions du protocole SOCKS pour l'accès proxy
Bidirectionnel . curl
offre des fonctionnalités de téléchargement et d'envoi. wget
offre uniquement un support HTTP POST simple.
Envoi multipart / formulaire-données HTTP , qui permet aux utilisateurs de "télécharger" HTTP et en général d'émuler les navigateurs et de faire l'automatisation HTTP dans une plus large mesure
curl
les soutiens gzip
et gonfle l'encodage de contenu et effectue la décompression automatique
curl
offre et effectue la décompression de HTTP encodée par transfert, wget ne le fait pas
curl
prend en charge HTTP / 2 et se connecte par double pile à l'aide de Happy Eyeballs
Beaucoup plus d'activité de développeur . Bien que cela puisse être débattu, j’envisage trois paramètres ici: l’activité de la liste de diffusion, la fréquence de validation du code source et la fréquence de publication. Tous ceux qui suivent ces deux projets peuvent voir que le projet Curl est beaucoup plus rapide dans tous ces domaines, et ce depuis 10 ans. Comparer sur openhub
wget
wget
est en ligne de commande uniquement. Il n'y a pas de bibliothèque.
Récursif !wget
Le principal atout de Curl par rapport à curl est sa capacité à télécharger de manière récursive, ou même simplement à télécharger tout ce qui est référencé depuis une ressource distante, qu’il s’agisse d’une page HTML ou d’une liste de répertoires FTP.
Plus vieux . wget
a des traces remontant à 1995, alors qu’on curl
ne peut en retrouver la trace avant la fin de 1996.
GPL . wget
est 100% GPL v3. curl est licencié MIT.
GNU . wget
fait partie du projet GNU et tous les droits d’auteur sont attribués à la FSF. Le projet Curl est entièrement autonome et indépendant, sans organisation parentale avec presque tous les droits d'auteur détenus par Daniel.
wget
ne nécessite aucune option supplémentaire pour simplement télécharger une URL distante dans un fichier local, alors que curl
nécessite -o
ou -O
.
wget
prend en charge la liste des suffixes publics pour la gestion des domaines de cookie, contrairement à curl.
wget
prend en charge uniquement GnuTLS ou OpenSSL pour SSL / TLS
wget
prend en charge uniquement l'authentification de base en tant que seul type d'authentification sur un proxy HTTP
wget
n'a pas de support SOCKS
Sa capacité à récupérer d'un transfert prématurément rompu et à poursuivre le téléchargement n'a pas d'équivalent en boucle.
wget
peut être saisi en utilisant uniquement la main gauche sur un clavier qwerty!
curl -C -
continue pas le téléchargement interrompu?
wget can be typed in using only the left hand on a qwerty keyboard!
, WTF ?? wget requires no extra options to simply download a remote URL to a local file, while curl requires -o or -O.
Il existe de nombreux outils qui peuvent télécharger comme curl
, snarf
, wget
, pavuk
, fget
, fetch
, lftp
, aria2
, HTTrack
etc. Utilisez - le selon vos besoins et qui fonction que vous souhaitez utiliser avec le téléchargement. Vérifier la table des fonctionnalités et utilisez-la en conséquence.
Curl:
Wget:
Ressources importantes pour plus d'informations:
Voici une bonne explication curl vs Wget .
Tableau des fonctionnalités: Comparez les fonctionnalités de cURL avec d'autres outils de téléchargement
Détail des fonctionnalités prises en charge par curl: Caractéristiques - que peut-on curl faire?
Détail des fonctionnalités prises en charge par wget : fonctionnalités de wget
Ils ont beaucoup de fonctionnalités en commun, mais curl
ont plus d'options. Car wget
il peut parfois être suffisant de feuilleter man wget
, mais curl
je dois étudier cette page Web dans un navigateur. Je crois que tout ce que votre navigateur peut faire, curl
peut faire aussi bien.
Il y a une autre différence entre wget et curl qui, à mon avis, est significative.
Wget est un utilitaire de ligne de commande autonome destiné principalement à récupérer du contenu Internet rapidement et simplement.
Curl, d’autre part, est fondamentalement un frontal pour la puissante bibliothèque libcurl. Libcurl fournit un ensemble très puissant d’outils permettant de travailler avec des URL sous toutes leurs formes et variantes, et est disponible pour presque toutes les langues et plates-formes. Curl vous donne fondamentalement la possibilité d'utiliser cette bibliothèque dans des scripts shell.