Téléchargement du fichier Curl sous Linux
La commande cURL linux peut utiliser différents protocoles réseau pour télécharger et charger des données sur Linux. Normalement, l’utilisation de la commande cURL est assez basique, mais elle a une tonne d’options et peut devenir plus compliquée très rapidement. Dans ce guide, nous allons passer en revue certaines des utilisations les plus courantes de la commande cURL et vous montrer des exemples de syntaxe afin que vous puissiez l’utiliser sur votre propre système.
Dans ce tutoriel, vous allez apprendre :
- Qu’est-ce que cURL et que peut-il faire ?
- Comment cURL se compare à wget
- Comment télécharger un fichier à partir d’un site Web avec cURL
- Comment suivre les redirections
- Comment télécharger et décompresser automatiquement un fichier
- Comment s’authentifier avec cURL
- Comment télécharger des en-têtes avec cURL
- Comment utiliser le mode silencieux avec cURL
Commande curl sous Linux
Que peut faire cURL ?
Curl peut utiliser un large éventail de protocoles réseau pour communiquer avec des systèmes distants. C’est un outil de débogage parfait, capable d’envoyer des requêtes aux serveurs et d’envoyer les réponses à stdout, généralement en enregistrant les données ou en les transmettant à d’autres outils dans le cadre d’un script bash pour le traitement.
La page de manuel de curl montre tous les protocoles qu’il prend en charge :
man curl
curl est un outil permettant de transférer des données depuis ou vers un serveur, en utilisant l’un des protocoles pris en charge (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET et TFTP). La commande est conçue pour fonctionner sans interaction de l’utilisateur.
HTTP et HTTPS font partie des protocoles répertoriés, ce qui signifie que curl peut télécharger des fichiers à partir de sites Web. Si vous êtes familier avec la commande wget, les deux outils sont similaires à cet égard. Nous vous montrerons comment télécharger des fichiers avec celui-ci dans la section suivante.
Alors, c’est comme wget ?
Curl est capable de récupérer des fichiers via les protocoles HTTP, HTTPS et FTP, tout comme wget. Les deux commandes sont de bons choix pour la tâche, bien que wget soit parfois préféré pour sa capacité à télécharger de manière récursive. Les deux commandes peuvent également envoyer des requêtes HTTP POST. En dehors de ce chevauchement, les fonctionnalités disponibles dans les deux utilitaires sont assez différentes.
Télécharger un fichier à partir d’un site Web avec cURL
Voyons la commande utilisée pour télécharger un fichier avec curl. Par exemple, curl peut être utilisé pour télécharger une distribution Linux, qui est disponible sous forme de fichiers ISO.
Ouvrez un terminal et tapez la commande suivante pour télécharger un fichier ISO avec curl :
curl https://example.com/linux.iso --output linux.isoCurl nous montre la progression du téléchargement du fichier ISO
Le terminal nous montre une sortie sur la progression du téléchargement jusqu’à ce qu’il soit terminé. L’option
--outputest nécessaire car curl ne sortira que les données téléchargées vers le terminal (stdout) par défaut. Par exemple:curl https://linuxconfig.orgCommande Curl utilisée pour télécharger une page Web
Dans le cas d’un site Web, qui sert du contenu HTML, vous obtiendrez un tas de code HTML dans votre terminal. Vous pouvez maintenant voir pourquoi curl est un outil de débogage facile. Si nous avions voulu télécharger la page dans un fichier, il nous suffirait d’ajouter l’option
--output. L’indicateur-Ofait la même chose et c’est une façon plus courte de l’écrire.Vous pouvez nommer vos téléchargements comme vous le souhaitez en spécifiant un nom de fichier après la commande.
curl https://example.com/linux.iso -O any_file_name.isoIl convient de noter que de nombreux sites Web ont configuré des redirections 301 ou 302, par exemple pour rediriger les utilisateurs atterrissant sur des pages HTTP vers la page HTTPS correspondante. Curl n’essaie pas de suivre ces redirections à moins que vous ne lui disiez de le faire avec l’option
-L. Si vous constatez que curl est bloqué par des redirections, il suffit d’ajouter cette option à la commande.curl -L linuxconfig.orgExemple de curl suivant et ne suivant pas une redirection 301
Téléchargement automatique d’Untar
Vous pouvez gagner du temps lors du téléchargement de fichiers tar en transférant la commande curl vers tar. Cela ne générera pas de fichier tar sur votre système, car le fichier est téléchargé sur stdout et tar gère les choses à partir de là. Par exemple, pour télécharger WordPress et ouvrir l’archive tar en une seule commande :
curl https://wordpress.org/latest.tar.gz | tar -xzAuthentification avec curl
Vous pouvez vous authentifier auprès d’un site web, d’un serveur FTP, etc. avec l’option
-udans votre commande curl. Spécifiez le nom d’utilisateur et le mot de passe directement après ce basculement, séparés par deux points. Par exemple, voici comment s’authentifier auprès d’un serveur FTP. Ce serveur est mis à la disposition du public à des fins de test et vous pouvez essayer la commande depuis votre propre terminal :curl -u demo:password ftp://test.rebex.netNous pouvons également télécharger le fichier readme sur le serveur :
curl -u demo:password ftp://test.rebex.net/readme.txtAuthentification et téléchargement d’un fichier à partir d’un serveur FTP avec curl
Télécharger les en-têtes
Curl est un excellent outil pour télécharger des en-têtes à partir d’un serveur distant. Cela peut vous donner des informations générales sur la page demandée, le serveur, etc. Encore une fois, c’est idéal pour le dépannage. Utilisez l’option
-Isur votre commande curl pour obtenir les en-têtes :curl -I linuxconfig.orgIl y a de fortes chances que vous souhaitiez également utiliser l’option de redirection
-Lsur les sites Web :curl -IL linuxconfig.orgTéléchargement d’en-têtes HTTP avec curl
Mode silencieux
Si vous pouviez vous passer du compteur de progression de curl et des messages d’erreur, l’option
-sferait taire curl. Bien sûr, la sortie normale arrivera toujours sur votre terminal, donc vous voudrez probablement aussi utiliser--outputpour indiquer à curl où placer le contenu qu’il télécharge.curl -s https://linuxconfig.org --output index.html
Conclusion
Dans cet article, nous avons vu comment la commande curl peut être utilisée pour des choses comme le téléchargement de fichiers à partir de la ligne de commande, l’authentification auprès des serveurs, etc. C’est un excellent outil de débogage et une commande utile à connaître.
Les options de Curl sont très étendues, car il prend en charge une tonne de protocoles réseau et peut être facilement redirigé vers d’autres outils puisqu’il envoie du contenu à stdout. Nous avons couvert certaines des utilisations courantes de curl dans ce tutoriel, mais assurez-vous de consulter les pages de manuel pour voir les nombreuses autres choses qu’il peut faire.





