Être ingénieur informatique implique diverses tâches à effectuer, telles que la vérification de la connectivité réseau, le téléchargement de fichiers ou la configuration des authentifications. Habituellement, ces tâches nécessitent des outils différents. Eh bien, pas avec cURL. L'utilitaire cURL Linux répond à la plupart des besoins d'un ingénieur informatique.
Dans ce didacticiel, vous découvrirez toutes les fonctionnalités de ligne de commande fournies par cURL.
Continuez à lire et améliorez vos compétences avec cURL !
Prérequis
Ce didacticiel comprend des démonstrations étape par étape. Pour suivre, assurez-vous d'avoir les éléments suivants :
- Une machine Ubuntu – Ce didacticiel utilise Ubuntu 18.04 avec Apache installé.
- Un PC Windows XP+ :ce didacticiel utilise l'édition Entreprise de Windows 10.
- Un hôte Linux distant :ce didacticiel utilise une machine Ubuntu 18.04.5 LTS.
- Un compte utilisateur sur l'hôte Linux SSH distant avec des autorisations sudo.
Installer cURL Linux (Ubuntu)
Comme tout autre outil, avant de profiter de cURL, vous devez d'abord l'installer sur votre machine. Vous pouvez installer cURL sur n'importe quel système d'exploitation basé sur *nix, mais il est surtout utilisé sur Ubuntu.
cURL est un utilitaire de ligne de commande qui vous permet d'effectuer des tonnes de tâches comme suit :
- Afficher l'état de diverses configurations réseau de machines Windows ou de serveurs Linux
- Transférer des données vers ou depuis des serveurs
- Prend en charge plusieurs protocoles, tels que HTTP, FTP, IMAP, POP3, SCP et SFTP.
Pour installer cURL sur votre machine Ubuntu :
1. Connectez-vous à votre hôte Ubuntu avec votre client SSH préféré.
2. Exécutez les commandes suivantes, qui ne fournissent pas de sortie mais créent un répertoire nommé ~/install_curl_demo et passez à ce répertoire. Ce répertoire contiendra toutes les ressources que vous allez créer dans ce didacticiel.
mkdir ~/install_curl_demo
cd ~/install_curl_demo
3. Ensuite, exécutez la commande apt update ci-dessous pour mettre à jour votre index de package système.
Cette commande garantit que le gestionnaire de packages apt peut trouver la source appropriée lors du téléchargement de packages dépendants.
sudo apt update
4. Maintenant, exécutez la commande apt install ci-dessous pour installer cURL sur votre machine.
sudo apt install curl
5. Enfin, exécutez la commande ci-dessous pour vérifier la version de cURL installée sur votre machine. Cela garantit que vous avez installé avec succès cURL.
curl --version
Authentification des sites Web
Prise en charge de différents protocoles curl, tels que FILE, FTP, HTTP, HTTPS, POP3, SCP, SFTP, TELNET, etc., et vous n'avez pas besoin de travailler avec une interaction utilisateur.
Si vous devez vous authentifier sur un site Web à l'aide de la commande curl, vous devrez spécifier l'utilisateur et le mot de passe dans l'URL elle-même. Mais si vous définissez le nom d'utilisateur, cURL demandera un mot de passe.
Exécutez la commande curl ci-dessous, en remplaçant [email protected]:password par votre nom d'utilisateur et votre mot de passe et l'URL du site Web par la vôtre pour vous authentifier.
curl -u [email protected]:password --basic
Téléchargement de fichiers avec un nom d'origine ou modifié
Le téléchargement de fichiers ou de packages peut faire partie de votre routine quotidienne en tant qu'administrateur. Si c'est le cas, cURL vous rendra sûrement service. Le curl
commande, suivi soit du -O
ou -o
options, vous permet de télécharger des fichiers tout en conservant l'original ou en définissant un nom différent.
Exécutez les commandes ci-dessous pour télécharger le package NGINX avec le nom d'origine (-O
) comme (*nginx-1.20.2.tar.gz*
) et avec un nom différent (-o
) comme *mytar.gz*
.
# Downloads the NGINX package with the original name nginx-1.20.2.tar.gz
curl -O
# Downloads the NGINX package with the new name mytar.gz
curl -o mytar.gz
Maintenant, exécutez la commande suivante pour télécharger le package NGINX nommé mytar2.gz. Mais cette fois, vous ne verrez qu'une barre de progression au lieu de voir beaucoup de détails dans la sortie.
curl -# -o mytar.gz
Enfin, exécutez le ls
commande ci-dessous pour lister tous les fichiers du répertoire courant.
ls
Ci-dessous, vous pouvez vérifier que nginx-1.20.2.tar.gz , mytar.gz , et mytar2.gz fichiers existent.
Définition du délai de connexion
Les sites Web à chargement rapide sont toujours idéaux, et cURL a un moyen de tester la vitesse à laquelle un utilisateur peut se connecter à votre site Web. Comment? En définissant un délai de connexion, où le curl
commande essaie de se connecter à un site Web dans un délai spécifique.
La définition d'un délai de connexion vous permet de déterminer le temps qu'un serveur met pour répondre à une demande de données que vous effectuez.
Exécutez la commande ci-dessous pour essayer de vous connecter au site adamtheautomator.com pendant 20
secondes avant l'expiration de la requête.
curl --connect-timeout 20 -I adamtheautomator.com
Vous pouvez voir ci-dessous que le -I
L'option vous permet d'inclure des en-têtes dans la sortie d'informations du site Web.
Récupération de données à l'aide de la requête GET
Vous avez vu que la configuration du délai de connexion fournit des informations sur un site Web dans la section "Configuration du délai de connexion". Mais si ces informations ne suffisent pas, envisagez d'envoyer une requête GET.
Exécutez la commande curl ci-dessous pour utiliser une requête HTTP GET (–get) et récupérer les données du site Web https://adamtheautomator.com.
curl --get
Ci-dessous, vous pouvez voir la source réelle du site Web adamtheautomator.com.
Envoi d'une requête POST
Au lieu d'obtenir des données, vous pouvez également envoyer des données en envoyant une requête POST avec le curl
commande. Le -d
permet d'envoyer les données spécifiées dans une requête POST au serveur HTTP comme le fait un navigateur lorsqu'un utilisateur a rempli un formulaire HTML.
Exécutez le curl
suivant commande pour envoyer une requête POST au ptsv2.com
site.
curl -d "name=curl"
Maintenant, accédez à https://reqbin.com/ sur votre navigateur Web pour tester si le POST a réussi.
Ci-dessous, vous remarquerez que le statut affiche (200 (OK), ce qui signifie que la demande a été envoyée avec succès.
Rechercher des définitions de mots
Saviez-vous que vous pouvez également utiliser cURL comme un dictionnaire ? Oui! cURL vous permet de rechercher des définitions de mots en utilisant le protocole DICT. De nombreux termes liés à l'informatique peuvent être recherchés à l'aide du protocole DICT, tels que horloge, ubuntu, RDP, etc.
La syntaxe du curl
commande utilisant le protocole DICT est la suivante :
curl [protocol:[dictionary_URL]:[word]
Exécutez chaque commande ci-dessous pour rechercher des définitions de mots dans le dictionnaire disponible sur le site Web public dict.org
.
# Search word definitions for ubuntu
curl dict://dict.org/d:ubuntu
# Search word definitions for clock
curl dict://dict.org/d:clock
Comme vous pouvez le voir ci-dessous, la première recherche de définition de mot pour ubuntu n'a pas trouvé de réponse pertinente et a renvoyé aucune correspondance . Mais le second a renvoyé quelques définitions pour le mot horloge .
Test du protocole HTTP2 du site Web
La commande curl convient sans aucun doute au téléchargement, au téléchargement et à l'authentification de sites Web. Mais une autre chose qui fait de curl un excellent outil est que vous pouvez vérifier si une URL particulière prend en charge le nouveau protocole HTTP/2.
Exécutez la commande curl suivante pour vérifier si le https://adamtheautomator.com/ le site Web prend en charge le protocole HTTPS (–http2).
curl -I --http2 -s | grep HTTP
Vous verrez une réponse HTTP/2 200 dans la sortie comme celle ci-dessous, ce qui signifie que le site utilise le protocole HTTP2.
Conclusion
cURL, bien qu'il s'agisse d'un outil gratuit, est livré avec de nombreuses fonctionnalités. Et dans ce didacticiel, vous avez expérimenté différents exemples d'utilisation de cURL sous Linux. Qu'il s'agisse de télécharger des fichiers, d'authentifier des sites Web, d'envoyer des requêtes POST ou GET, etc., cURL ne vous décevra pas.
Pourquoi ne pas tirer parti de ces nouvelles connaissances ? Peut-être apprendrez-vous à transférer des fichiers et à exécuter des commandes et des scripts à l'aide de la commande curl ? Ou découvrir les commandes de l'API cURL ?