Cet article explique ce qu'est la commande cURL sous Linux et comment l'utiliser avec des exemples.
Commande cURL sous Linux
cURL est un utilitaire multiplateforme installé sur la plupart des distributions Linux. Fondamentalement, il est utilisé pour transférer des fichiers depuis un serveur mais sans intervention de l'utilisateur . Cela signifie qu'une fois qu'il est exécuté et que nous dictons les paramètres, rien d'autre ne doit être fait.
Il est également utilisé dans les voitures, les téléviseurs, les routeurs, les imprimantes, les équipements audio, les téléphones portables, les tablettes, les décodeurs, les lecteurs multimédias et constitue l'épine dorsale du transfert Internet pour des milliers d'applications logicielles affectant des milliards d'humains du quotidien. Depuis https://curl.haxx.se/
Comme vous l'avez remarqué, cURL est beaucoup utilisé dans les scripts Linux, cela nous renseigne sur la robustesse et l'utilité de l'outil.
La commande curl prend en charge les protocoles ci-dessous,
- HTTP et HTTPS.
- FTP, SFTP et FTPS
- IMAP, IMAPS, POP3 et POP3S.
- PME et PME
- SCP.
- TELNET.
- LDAP et LDAPS.
- SMTP et SMTPS.
Cela fonctionne aussi avec libcurl
, qui est une bibliothèque de transfert d'URL gratuite côté client et également avec un interpréteur de commandes qui est curl
.
Ceci est open-source distribué sous la licence MIT et compatible avec presque toutes les distributions Linux existantes.
cURL automatise les transferts de fichiers ou les séquences d'opérations non supervisées.
Installer curl sous Linux
Curl devrait déjà être installé sur votre distribution Linux. Si ce n'est pas le cas, exécutez ces commandes en fonction de la distribution Linux que vous utilisez.
Remarque - curl est disponible à partir des dépôts officiels de presque toutes les distributions actuelles.
Debian, Ubuntu, Linux Mint ou l'un des dérivés comme ElementaryOS
:~$ sudo apt install curl
Fedora, Red Hat, CentOS et dérivés
:~$ sudo dnf install curl
OuvrirSUSE
:~$ sudo zypper in curl
Quoi qu'il en soit, dans la section de téléchargement du site Web curl, il y a les packages pour chaque cas.
Comment utiliser la commande curl
Curl est un programme qui s'utilise via la commande du même nom. Cette commande a une syntaxe basique et est très facile à mémoriser.
:~$ curl [options...] <url>
Pour voir le reste des options, exécutez simplement la commande curl avec l'option qui affiche l'aide.
:~$ curl --help
Comme vous pouvez le voir, il existe de nombreuses options différentes, cependant, vous apprendrez les situations les plus utiles et les plus courantes de la commande.
L'utilisation la plus basique de curl est d'afficher le contenu d'un site Web.
:~$ curl google.com
Lorsque la commande est exécutée, vous verrez le code source du site Web. Comme aucun protocole n'est spécifié, curl prendra HTTP par défaut.
Vous pouvez améliorer la commande ci-dessus à l'aide de la commande less pour faire défiler le terminal
:~$ curl google.com | less
Et si vous souhaitez télécharger ce code source sur votre ordinateur, vous pouvez ajouter le -o option et donnez un nom au fichier généré.
:~$ curl google.com -o google.html
C'est aussi simple que cela d'obtenir le code source d'un site Web.
Télécharger un fichier avec curl
L'une des utilisations les plus courantes de curl consiste à télécharger un fichier à partir d'un serveur. C'est probablement l'option la plus utilisée.
Pour ce faire, nous avons deux options qui nous aideront beaucoup. Le premier est -o nous permettra de définir le nom du fichier téléchargé. La seconde est -O (majuscule) qui prendra le nom du fichier que la télécommande. C'est-à-dire sans aucune modification.
Donc, pour télécharger des fichiers, exécutez simplement la commande suivante :
:~$ curl [options] [url]
Par exemple :
:~$ curl -O http://example.com/file.tar.gz
Cela téléchargera le file.tar.gz
au répertoire de travail courant. Si nous voulons définir un autre nom, nous utilisons celui-ci :
:~$ curl -o newfile.tar.gz http://example.com/file.tar.gz
Si pour une raison quelconque le téléchargement s'arrête, vous pouvez le réutiliser en utilisant le -C option comme celle-ci :
:~$ curl -C - -O http://example.com/file.tar.gz
Vous pouvez également télécharger plusieurs fichiers en une seule commande :
:~$ curl -O http://example.com/file.tar.gz -O http://example2.com/file2.tar.gz
Télécharger un fichier protégé par mot de passe
Certains serveurs protègent le téléchargement de certains fichiers en demandant un nom d'utilisateur et un mot de passe. Ceux-ci sont généralement fournis par l'administrateur du serveur.
Avec le -u option, vous pouvez spécifier un nom d'utilisateur et un mot de passe et télécharger en utilisant curl.
:~$ curl -u user:password http://server/file -o filename
N'oubliez pas de changer les paramètres pour les vôtres. Également dans le champ du serveur peut être une adresse IP ou un nom de domaine. Enfin, attribuez un nom au fichier avec son extension.
La commande Linux curl fonctionne également derrière un proxy
Si vous êtes derrière un proxy, vous pouvez également le dire à curl. De cette façon, le programme sera exécuté correctement. Par exemple,
:~$ curl -x proxyserver -U username:password -O http:// example.com/file.tar.gz
Si le proxy ne nécessite pas de nom d'utilisateur et de mot de passe, vous pouvez omettre le -U option. Vous pouvez également spécifier un port d'écoute sur le serveur proxy.
Télécharger un fichier depuis FTP avec curl
Dans la section précédente, vous avez appris à télécharger un fichier avec curl mais dans le protocole HTTP. Cependant, il arrive que certains fichiers se trouvent généralement sur un serveur FTP qui nécessite un nom d'utilisateur et un mot de passe. Alors bouclez peut également fonctionner avec FTP.
De cette façon, vous pouvez télécharger un fichier via FTP.
:~$ curl ftp://FTP-server/file -user user:password -o file_name
Remplacez les champs de la commande précédente par les vôtres.
Ignorer le certificat SSL d'un site Web
Ce n'est pas conseillé, mais nous pouvons parfois ignorer le certificat SSL d'un site Web. Pour ce faire, utilisez l'option -k comme suit :
:~$ curl -k [url]
Cela signifie que le curl n'a pas à établir une connexion sécurisée avec le serveur. Cela peut ne pas être recommandé.
Limiter le taux de téléchargement avec la commande Linux curl
Pour une bonne raison, il est conseillé de limiter le taux de décharge en utilisant curl. Ceci est utile dans les réseaux partagés ou lorsque nous ne voulons pas affecter la bande passante totale.
Dans ce cas, l'option qui permet cela est -limit-rate et la définition d'une limite en Mbs ou Kbs
~$ curl --limit-rate 900k [url]
Bien sûr, vous pouvez utiliser d'autres options supplémentaires comme -O ou -o
Conclusion
La commande curl est l'une des commandes puissantes de Linux et est si simple qu'elle passe même inaperçue plusieurs fois. Grâce à cet outil, il est possible de télécharger des fichiers et de se connecter à des serveurs multi-cibles.
Cette commande est très utile pour exécuter des scripts qui ne nécessitent pas d'intervention de l'utilisateur. D'autre part, curl est également utilisé pour effectuer des tests sur différents serveurs.
Avez-vous l'habitude de curler? Aimes-tu? qu'utilisez vous pour ça? faites-le nous savoir.
Tutoriel boucles