GNU/Linux >> Tutoriels Linux >  >> Linux

Quelle est la différence entre curl et Wget ?

curl et Wget sont les deux utilitaires les plus courants pour envoyer des requêtes aux serveurs à partir de la ligne de commande Linux.

Si jamais vous vous retrouvez à échanger entre les deux, l'un ne fait qu'éveiller votre curiosité, ou si vous venez de voir une bonne vieille discussion en ligne à ce sujet, il y a quelques différences qu'il pourrait être utile de connaître.

Bien que vous ayez, espérons-le, une expérience fluide en utilisant l'un ou l'autre, connaître les différences fondamentales entre les deux vous aidera à mieux comprendre l'utilisation des deux (et, espérons-le, à résoudre tout ce qui se trouve dans les discussions remplies de questions susmentionnées).

Différence principale entre curl et Wget :comment la sortie est enregistrée

La différence la plus visible entre curl et Wget est que, par défaut, Wget enregistre la page Web interrogée sur le système, tandis que curl l'affiche dans la sortie du terminal mais ne l'enregistre pas.

Commençons par un exemple simple de requête sur la page d'accueil d'Arch Linux, https://archlinux.org .

Nous allons d'abord faire la demande avec curl.

curl 'https://archlinux.org'

Remarquez comment la commande curl génère le contenu brut de la page Web ? C'est comme si vous cliquiez sur le bouton Afficher la source d'un navigateur Web.

Essayons de récupérer le même site Web avec Wget :

wget 'https://archlinux.org'

Regardez ça, Wget n'a pas montré le contenu de la page Web comme curl l'a fait. Mais si Wget ne l'a pas montré, où l'a fait ça l'a mis ?

C'est là qu'intervient la première différence principale entre les deux programmes.

Par défaut, Wget place le contenu du site Web dans un fichier nommé index.html :

Vous pouvez alors voir le contenu réel du fichier en exécutant cat index.html , qui produirait la même sortie que vous avez vue avec le curl commande :

Si vous souhaitez enregistrer le fichier avec curl, vous devez utiliser le -o choix :

curl -o <output_file> <web_URL>

Autres différences notables

En plus de cela, c'est en fait à peu près la seule différence que vous remarquerez probablement lors de l'utilisation de curl et de Wget. Il y en a quelques autres qui pourraient être intéressants, mais ils n'affecteront probablement pas trop votre utilisation de l'un ou l'autre outil, voire pas du tout, en tant qu'utilisateur final.

Soutien

curl est beaucoup plus utilisé que Wget, étant utilisé dans des environnements tels que les téléphones mobiles, votre ordinateur (y compris les systèmes d'exploitation tels que Windows et macOS), et même les appareils de l'internet des objets tels que les montres intelligentes, les réfrigérateurs intelligents et d'autres articles similaires.

Utilisation du développeur

Cette partie suivante concerne principalement les développeurs. Curl possède des bibliothèques pour prendre en charge les requêtes réseau dans des langages de programmation tels que C, tandis que wget est strictement une ligne de commande et ne fonctionnera pas très bien si vous devez interagir avec lui à partir d'un langage de programmation.

Une partie de cela est liée à la raison précédente et explique pourquoi curl est largement utilisé dans différents types d'environnements et d'appareils.

Conclusion

Et c'est tout ! J'espère que vous avez maintenant vu que les différences entre les deux sont beaucoup plus petites que certains ne le prétendent.

Si jamais vous décidez de choisir un outil à long terme, je recommanderais certainement curl, car c'est ce que j'utilise dans mes propres projets, et il est simplement beaucoup plus largement utilisé que Wget.

Vous voulez un aperçu plus complet entre les deux? Consultez l'article curl vs Wget de Daniel Stenberg (créateur de curl), qui aborde un tas de choses plus avancées qui diffèrent entre les deux outils.


Linux
  1. Quelle est la différence entre insmod et modprobe

  2. Quelle est la différence entre les threads NPTL et POSIX ?

  3. Quelle est la différence entre adduser et useradd ?

  4. Quelle est la différence entre ls et l ?

  5. Quelle est la différence entre $(CC) et $CC ?

Quelle est la différence entre Linux et Unix ?

Quelle est la différence entre la connexion et le shell sans connexion

Quelle est la différence entre la commande apt et apt-get ?

Quelle est la différence entre Git Switch et Checkout ?

Qu'est-ce qu'un Hyperviseur ? Quelle est la différence entre les types 1 et 2 ?

Quelle est la différence entre la route et la route IP ?