Qu’est-ce que la commande curl sous Linux et que pouvez-vous faire avec ?
La commande curl sous Linux est un excellent moyen d'automatiser le processus de chargement et de téléchargement de données à partir d'un serveur. Curl prend en charge tous les protocoles importants tels que HTTP, HTTPS, SFTP, FTP, etc.
Des fonctionnalités telles que la suspension et la reprise des transferts, la limitation de la bande passante, la prise en charge du proxy et l'authentification des utilisateurs en font un utilitaire de ligne de commande parfait pour le transfert de données.
Examinons en profondeur et explorons ce qu'est le curl et comment l'utiliser.
Qu'est-ce que la commande curl ?
Curl a été initialement développé pour automatiser le téléchargement périodique des taux de change à partir d'une page Web. Les taux de change en temps réel fournissaient des équivalents en couronnes suédoises en dollars américains aux utilisateurs de l'IRC. La popularité de curl a augmenté de façon exponentielle à mesure que les gens commençaient à utiliser ses applications répandues.
Curl est l'un des projets open source les plus anciens et les plus populaires à avoir jamais existé. Le nom signifie URL client et est utilisé dans d'innombrables systèmes à travers le monde. Curl trouve son utilisation dans une variété d'applications telles que le développement Web et les tests de bogues.
Les développeurs n'ont pas besoin de taper les commandes manuellement ; ils peuvent les regrouper dans des scripts et les utiliser pour automatiser des opérations complexes. Voici quelques exemples d'utilisation de curl.
Installer curl sur Linux
Bien que ce package populaire soit pré-installé sur la plupart des distributions Linux, vous pouvez facilement télécharger curl s'il n'est pas déjà installé sur la vôtre. Utilisez les commandes suivantes pour installer curl sur votre machine.
Sur Ubuntu et Debian :
sudo apt install curl
Sur les distributions basées sur RHEL comme CentOS et Fedora :
sudo yum install curl
Pour installer curl sur Arch Linux, tapez :
sudo pacman -S curl
Comment utiliser la commande curl
Curl utilise la syntaxe suivante pour toutes ses commandes :
curl options url
…où les options et l' url changent en fonction de la tâche à accomplir. Curl télécharge le code source de l'URL, chaque fois que vous ne mentionnez pas l'option/la tâche. La dernière version de curl devine également le protocole – s'il n'est pas mentionné dans l'URL – et le définit par défaut sur HTTP.
Voici quelques commandes curl utiles pour effectuer diverses tâches fonctionnelles :
Télécharger un fichier avec curl
Vous pouvez télécharger des ressources via une URL spécifiée à l'aide de curl. Cette commande a deux indicateurs que vous pouvez utiliser ; -o et -O .
- La commande -O enregistre le fichier dans le répertoire courant avec le même nom que dans le serveur distant.
- La commande -o , quant à elle, vous permet de choisir le nom et l'emplacement du fichier.
Voici un exemple de ces deux commandes :
curl -O https://cdn.jsdelivr.net/npm/vue/dist/vue.js
Le fichier est téléchargé dans le répertoire courant, avec son nom d'origine comme sur le serveur distant.
curl -o newfile.tar.gz http://yourdomain.com/yourfile.tar.gz
Lorsque vous exécutez la commande susmentionnée, curl téléchargera et enregistrera le fichier sous le nom newfile.tar.gz . Notez que vous devrez spécifier le nom de fichier et le chemin d'accès au répertoire en entrée.
Reprendre un téléchargement interrompu à l'aide de curl
Les téléchargements peuvent être interrompus pour plusieurs raisons, comme des interruptions de réseau ou un lien expiré. La fonction de reprise d'un téléchargement interrompu aide dans de telles situations en vous évitant les tracas de télécharger à nouveau l'intégralité du fichier.
Utilisez l'indicateur -C avec -o ou -O pour reprendre un téléchargement interrompu à l'aide de curl.
curl -C -O http://yourdomain.com/yourfile.tar.gz
Téléchargement de plusieurs fichiers à l'aide de curl
Il n'y a pas de commande dédiée pour télécharger plusieurs fichiers simultanément via curl, mais vous pouvez utiliser les indicateurs -o ou -O plusieurs fois dans la même commande pour obtenir des résultats similaires.
Par exemple:
curl -O http://website1.com/file1.iso -O https://website2.com/file2.iso
La commande susmentionnée téléchargera les fichiers ISO des deux URL simultanément dans le répertoire actuel.
Obtenir les en-têtes HTTP d'une page Web
Les en-têtes HTTP contiennent des informations cruciales telles que l'agent utilisateur, le type de contenu et l'encodage. Vous pouvez demander l'en-tête HTTP d'une URL à l'aide des indicateurs -I (i majuscule, pas L) et –http2 :
curl -I --http2 https://www.ubuntu.com/
Sortir:
La commande -I affiche diverses informations, notamment les détails du logiciel serveur, la date, le type de contenu, l'état de X-cache, etc.
Spécifier un taux de transfert maximum
Les transferts de fichiers acquièrent généralement la majeure partie de votre bande passante, vous empêchant d'effectuer toute autre tâche.
Pour résoudre ce problème, vous pouvez définir un taux de transfert maximal pour vos téléchargements à l'aide de curl. Utilisez la méthode –limit-rate suivie d'un modificateur k , m ou g (désigne respectivement les kilo-octets, les mégaoctets ou les gigaoctets).
La commande suivante limite la vitesse de transfert à 1 Mo/s :
curl --limit-rate 1m -O https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
Sortir:
Transférer des fichiers via FTP et curl
Vous pouvez transférer des fichiers à l'aide du protocole de transfert de fichiers en accédant à n'importe quel serveur FTP à l'aide de curl. Curl vous donne la possibilité de télécharger et de télécharger des fichiers après vous être connecté au serveur FTP.
Utilisez la commande suivante pour vous connecter à un serveur FTP :
curl -u username:password ftp://ftp.example.com/
…où le nom d'utilisateur et le mot de passe sont les informations d'identification pour se connecter au serveur.
Vous pouvez télécharger n'importe quel fichier depuis le serveur en spécifiant l'URL du fichier dans la commande suivante :
curl -u username:password -O ftp://ftp.example.com/file.tar.gz
Vous pouvez également télécharger des fichiers sur le serveur FTP à l'aide de l'indicateur -T :
curl -T newfile.tar.gz -u username:password ftp://ftp.example.com
La commande -T suivie du fichier spécifié le télécharge sur le serveur FTP.
Utiliser des proxys avec curl
Curl prend en charge une pléthore de proxys différents comme HTTPS, HTTP et SOCKS. Vous pouvez utiliser ces proxys pour transférer des données en toute sécurité à l'aide de curl.
Utilisez la commande suivante pour configurer des proxys dans curl :
curl -x 192.168.44.1:8888 http://linux.com/
L'option -x vous connecte au port 8888 sur le serveur 192.168.44.1. Assurez-vous de remplacer les détails du proxy dans la commande par le proxy auquel vous souhaitez vous connecter. Le serveur proxy susmentionné ne nécessite pas d'authentification, mais vous pouvez accéder à un proxy protégé en utilisant la syntaxe suivante :
curl -U username:password -x 192.168.44.1:8888 http://linux.com/
Spécifiez le nom d'utilisateur et le mot de passe séparés par un C olon à côté de l'indicateur -U .
Afficher les détails de la version
Cette commande est pratique lorsque vous souhaitez vérifier les informations de version du package. Utilisez l'indicateur –version pour afficher la version curl :
curl --version
La sortie doit mentionner la version curl, ses protocoles et ses fonctionnalités.
Identifier les avantages de curl Command sous Linux
Curl est équipé de nombreuses options pour automatiser le transfert de données sur votre machine. La fonction de reprise des téléchargements interrompus et la prise en charge FTP sont utiles dans plusieurs applications.
Les exemples de ce didacticiel visent à montrer les commandes curl les plus populaires avec leurs codes respectifs pour vous aider à mieux comprendre la commande curl.