Quelle est la différence entre wget vs curl?

Quelle est la différence entre wget vs curl?
Nous devons souvent télécharger des fichiers à partir de serveurs distants vers notre machine locale. Sur un bureau graphique, nous pouvons utiliser un navigateur GUI et cliquer sur le bouton de téléchargement. Cependant, sur un terminal, nous devons utiliser des outils développés pour le terminal.Lors du téléchargement de fichiers à partir du terminal, quatre outils apparaissent souvent: Curl, Axel, WGET et ARIA2. Alors qu'Axel et Aria2 peuvent ne pas être bien connus, la plupart des utilisateurs terminaux connaissent Curl et WGET.

Dans ce tutoriel, nous examinerons Curl et Wget, comment commencer, et surtout, les différences entre elles.

Qu'est-ce que Curl?

Curl est un utilitaire de ligne de commande libre et open-source qui permet aux utilisateurs de transférer des données d'une machine distante à une autre avec une interaction minimale ou sans utilisateur. L'utilisation de boucles est répandue dans des appareils comme les routeurs, les imprimantes, les téléphones, les tablettes, les joueurs des médias et plus encore.

Il prend en charge le téléchargement et le téléchargement à l'aide de protocoles tels que HTTP / HTTPS, FTP, SFTP, SCP, IMAP, LDAP / LDAPS, SMB / SMBS, Telnet, POP3, Gopher et beaucoup plus, bien d'autres.

Curl fournit également des proxys, des transferts de curriculum vitae, une authentification des utilisateurs, des certificats SSL et bien plus encore.

Qu'est-ce que WGET?

GNU WGET, communément appelé WGET, est un utilitaire de ligne de commande gratuit pour transférer des fichiers à l'aide de HTTP / HTTPS, FTP et FTPS. Il fournit des fonctionnalités telles que les téléchargements récursifs, le contrôle de la bande passante, reprend des transferts abandonnés, les téléchargements d'arrière-plan, les fichiers et répertoires miroir récursifs, et bien d'autres.

Comment installer Curl et Wget?

Curl et WGET sont des outils populaires facilement disponibles dans les principales distributions Linux; Si vous n'avez aucun outil installé, vous utilisez les commandes ci-dessous pour installer:

Debian / Ubuntu:

# Installer Curl
sudo apt-get install curl
# installer wget
sudo apt-get install wget

Arch / Manjaro:

# Installer Curl
Sudo Pacman -s Curl
# installer wget
sudo pacman -s wget

Rehl / centos / fedora:

# Installer Curl
sudo yum install curl
sudo dnf install curl
# installer wget
sudo yum install wget
sudo dnf install wget

Comment utiliser Curl et WGET (Exemples de cas d'utilisation)?

Pour vous assurer que vous comprenez les similitudes et les différences entre Curl et WGET, il est bon de regarder quelques exemples:

Protocoles HTTP / HTTPS:

Curl et WGET prennent en charge les protocoles HTTP et HTTPS. Par conséquent, si nous téléchargeons un site Web comme Linuxhint.com:

Curl https: // linuxhint.com -o Linuxhint.html
Curl https: // linuxhint.com -o Linuxhint.html
% Total% reçu% xferd vitesse moyenne du temps de temps courant
Dload Téléchargez la vitesse gauche dépensée totale
100 256K 0 256K 0 0 166K 0 -: -: - 0:00:01 -: -: - 166K

Par défaut, Curl imprimera le contenu de la ressource Web dans le terminal. Nous utilisons l'indicateur -o pour rediriger la sortie vers un fichier.

Ce qui suit s'applique à WGET:

wget https: // linuxhint.com
--2021-06-20 05: 09: 45-- https: // Linuxhint.com /
Résolution de Linuxhint.com (Linuxhint.com)… 104.21.58.234, 172.67.209.252, 2606: 4700: 3033 :: 6815: 3aea,…
Connexion à Linuxhint.com (Linuxhint.com) | 104.21.58.234 |: 443… connecté.
Demande HTTP envoyée, en attente de réponse… 200 ok
Longueur: non spécifié [Text / HTML]
Économie vers: 'Index.html '
indice.html
[ <=> ] 256.25K 506Kb / s en 0.5s
2021-06-20 05:09:46 (506 kb / s) - 'Index.HTML 'enregistré [262396]

Wget, en revanche, enregistre la ressource demandée à un fichier.

Il est bon de noter que les deux outils téléchargent la ressource. Les détails LS des deux fichiers affichent les deux tailles de fichiers.

$ ls -l index.html Linuxhint.html
-RW-RW-R - 1 Linuxhint Linuxhint 262396 19 juin 15:50 Index.html
-RW-RW-R - 1 Linuxhint Linuxhint 262396 juin 20 05:07 Linuxhint.html

Protocole FTP:

Les téléchargements de support Curl et WGET sur les protocoles FTP. Cependant, Curl prend en charge le téléchargement sur FTP.

Utilisez la commande ci-dessous pour télécharger des fichiers à partir du serveur FTP avec WGET:

wget --user = debian --password = 'debian' ftp: // 192.168.0.112 / sauvegarde.zst
wget --user = debian --password = 'debian' ftp: // 192.168.0.112 / sauvegarde.zst
--2021-06-20 05: 29: 06-- FTP: // 192.168.0.112 / sauvegarde.zst
=> 'Sauvegarde.ZST '
Connexion à 192.168.0.112: 21… connecté.
Connexion en tant que Debian… connecté!
==> Syst… fait. ==> Pwd… fait.
==> Type I… fait. ==> CWD pas nécessaire.
==> Sauvegarde de taille.zst… fait.
==> Pasv… fait. ==> Retter Sauvegarde.zst… fait.
sauvegarde.zst
[ <=> ] 0 --.-Kb / s en 0
2021-06-20 05:29:06 (0.00 b / s) - 'Sauvegarde.ZST 'enregistré [0]
À l'aide de Curl, ajoutez le drapeau -u comme:
Curl -U Debian: Debian 'FTP: // 192.168.0.112 / sauvegarde.ZST '-O Sauvegarde.zst
Curl -U Debian: Debian 'FTP: // 192.168.0.112 / sauvegarde.ZST '-O Sauvegarde.zst
% Total% reçu% xferd vitesse moyenne du temps de temps courant
Dload Téléchargez la vitesse gauche dépensée totale
0 0 0 0 0 0 0 0 -: -: - -: -: - - -: -: - 0
Pour télécharger un fichier sur FTP avec Curl, nous utilisons l'option -T comme:
Curl -u Debian: Debian -T "Backup1.ZST ”FTP: // 192.168.0.112 / ftp /

Assurez-vous que le répertoire existe et que l'utilisateur a des autorisations d'écriture.

NOTE: Bien que Curl prenne en charge une grande variété de protocoles, il ne fournit pas de téléchargements récursifs. D'un autre côté, WGET prend en charge les téléchargements récursifs en utilisant l'option-réécrivace en tant que protocoles HTTP / HTTPS et FTP / FTPS, de telles fonctionnalités.

Similitudes entre WGET et CURL

Maintenant pour la cerise sur le gâteau:

  • Les deux outils prennent en charge les protocoles standard tels que HTTP, HTTPS, FTP, FTPS.
  • Les deux outils téléchargent des fichiers depuis Internet.
  • Les deux outils prennent en charge les cookies HTTP.
  • Les deux outils prennent en charge la sortie d'un fichier.
  • Outils libres et activement développés.
  • Les deux outils prennent en charge les transferts de CV.
  • Les deux outils prennent en charge le post http.

Différences entre WGET et CURL

Voici quelques-unes des différences entre Curl et WGET:

  • WGET est un utilitaire de transfert simple, tandis que Curl offre tellement plus.
  • Curl fournit la bibliothèque libcurl, qui peut être étendue dans les applications GUI. Wget, en revanche, est un utilitaire de ligne de commande simple.
  • WGET prend en charge moins de protocoles par rapport à Curl.
  • Les téléchargements récursifs ne sont pas pris en charge dans Curl.
  • WGET est disponible nativement dans les systèmes Linux, tandis que Curl est facilement disponible dans Windows Systems.
  • Curl prend en charge plusieurs transferts parallèles.
  • Curl effectue des décompressions HTTP codées en transfert, tandis que WGET ne.
  • Curl prend en charge HTTP bidirectionnel tandis que WGET propose un post HTTP ordinaire.
  • Curl prend en charge plus de méthodes d'authentification HTTP par rapport à WGET.
  • WGET ne prend pas en charge les chaussettes.
  • Wget nécessite l'installation de gnulib.
  • Contrairement à Curl, des fonctionnalités telles que les cookies, les horodatages et les redirectes de suivi sont activés par défaut dans WGET. Curl nécessite que chacun soit spécifié explicitement.

Conclusion

Ce tutoriel s'est concentré sur les similitudes et les différences entre Curl. Bien qu'il puisse sembler que Curl est le choix supérieur, il y a des cas où WGET est le meilleur choix.

Mon conseil est de choisir ce qui fonctionne pour vous.