15 conseils sur la façon d'utiliser la commande 'curl' dans Linux

15 conseils sur la façon d'utiliser la commande 'curl' dans Linux

De retour au milieu des années 1990, quand Internet était encore à ses balbutiements, un programmeur suédois nommé Daniel Stenberg a commencé un projet qui est finalement devenu ce que nous savons boucle aujourd'hui.

Initialement, il visait à développer un bot Cela téléchargerait périodiquement les taux de change de change à partir d'une page Web et fournirait des équivalents de Kronor suédois en dollars américains aux utilisateurs de l'IRC.

Pour faire court, le projet a prospéré, ajoutant plusieurs protocoles et fonctionnalités en cours de route - et le reste appartient à l'histoire. Plongeons maintenant avec les deux pieds et apprenons à utiliser Curl pour transférer des données et plus en Linux!

Nous avons établi la liste suivante de 15 commandes de curl pour vous.

1. Afficher la version Curl

Le -V ou --version Les options renverront non seulement la version, mais aussi les protocoles et fonctionnalités pris en charge dans votre version actuelle.

$ curl --version boucle 7.47.0 (x86_64-pc-linux-gnu) libcurl / 7.47.0 gnutls / 3.4.10 zlib / 1.2.8 libidn / 1.32 Librtmp / 2.3 Protocoles: dict fichier ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smbs smbs smtp smtps telnet tftp fonctionnalités: asynchdns idn ipv6 grand file gss-api kerberos spnego ntlm ntlm_wb ssl libz tls-sego ntlm ntlm_wb ssl 

2. Télécharger un fichier

Si vous souhaitez télécharger un fichier, vous pouvez utiliser boucle avec le -O ou -o options. Le premier enregistrera le fichier dans le répertoire de travail actuel avec le même nom que dans l'emplacement éloigné, tandis que le second vous permet de spécifier un nom de fichier et / ou un autre autre.

$ curl -o http: // yourDomain.com / votre file.le goudron.GZ # Save As YourFile.le goudron.gz $ curl -o newfile.le goudron.gz http: // yourDomain.com / votre file.le goudron.GZ # Save As NewFile.le goudron.gz 

3. Reprendre un téléchargement interrompu

Si un téléchargement a été interrompu pour une raison quelconque (par exemple, en utilisant Ctrl + c), vous pouvez le reprendre très facilement. L'utilisation de -C - (Dash C, Space Dash) dit à Curl de reprendre le téléchargement commençant là où il s'était arrêté.

$ curl -c - -o http: // yourDomain.com / votre file.le goudron.gz 
Télécharger le fichier à l'aide de la commande curl

4. Télécharger plusieurs fichiers

Avec la commande suivante, vous téléchargerez Info.html et à propos.html depuis http: // vôtre.com et http: // mysite.com, respectivement, en une seule fois.

$ curl -o http: // vous.com / info.html -o http: // mysite.com /.html 

5. Télécharger les URL à partir d'un fichier

Si vous combinez boucle Avec xargs, vous pouvez télécharger des fichiers à partir d'une liste d'URL dans un fichier.

$ xargs -n 1 curl -o < listurls.txt 
Télécharger plusieurs fichiers avec Curl

6. Utilisez un proxy avec ou sans authentification

Si vous êtes derrière un serveur proxy écoutant sur le port 8080 à Procuration.ton domaine.com, faire.

$ Curl -x Proxy.ton domaine.com: 8080 -u utilisateur: mot de passe -o http: // yourDomain.com / votre file.le goudron.gz 

où tu peux sauter -U utilisateur: mot de passe Si votre proxy ne nécessite pas d'authentification.

7. Requête en en-têtes HTTP

Http Les en-têtes permettent au serveur Web distant d'envoyer des informations supplémentaires sur elle-même ainsi que la demande réelle. Cela fournit au client des détails sur la façon dont la demande est traitée.

Pour interroger les en-têtes HTTP à partir d'un site Web, faites:

$ curl -i www.Tecmint.com 
Curl Query HTTP Headers

Ces informations sont également disponibles dans les outils de développeur de votre navigateur.

8. Faire une demande de poste avec des paramètres

La commande suivante enverra le prénom et nom de famille les paramètres, ainsi que leurs valeurs correspondantes, pour https: // yourDomain.com / info.php.

$ curl --data "FirstName = John & LastName = Doe" https: // yourDomain.com / info.php 

Vous pouvez utiliser cette astuce pour simuler le comportement d'un formulaire HTML régulier.

9. Téléchargez des fichiers à partir d'un serveur FTP avec ou sans authentification

Si un serveur FTP distant attend des connexions à ftp: // yourftpServer, La commande suivante téléchargera Votre file.le goudron.gz Dans le répertoire de travail actuel.

$ curl -u nom d'utilisateur: mot de passe -o ftp: // yourftpserver / yourfile.le goudron.gz 

où tu peux sauter -Nom d'utilisateur: Mot de passe Si le serveur FTP autorise les connexions anonymes.

dix. Téléchargez des fichiers sur un serveur FTP avec ou sans authentification

Pour télécharger un fichier local nommé mylocalfile.le goudron.gz pour ftp: // yourftpServer Utilisation de Curl, faites:

$ curl -u nom d'utilisateur: mot de passe -t mylocalfile.le goudron.gz ftp: // yourftpServer 

11. Spécifier l'agent utilisateur

Le agent utilisateur fait partie des informations envoyées avec un Http demande. Cela indique quel navigateur le client a utilisé pour faire la demande. Voyons ce que notre version Curl actuelle utilise par défaut, et changeons-le plus tard en «Je suis un nouveau navigateur Web»:

$ curl -i http: // localhost --User-agent "Je suis un nouveau navigateur Web" 
Curl Vérifier l'agent utilisateur

12. Cookies de site Web de magasin

Vous voulez voir quels cookies sont téléchargés sur votre ordinateur lorsque vous parcourez https: // www.CNN.com? Utilisez la commande suivante pour les enregistrer pour cnncookies.SMS. Vous pouvez ensuite utiliser la commande Cat pour afficher le fichier.

$ curl - Cookie-Jar Cnncookies.txt https: // www.CNN.com / index.html -o 
Cookies du site Web de la boutique en boucle

13. Envoyer des cookies de site Web

Vous pouvez utiliser les cookies récupérés dans la dernière astuce dans les demandes ultérieures du même site.

$ curl - Cookie cnncookies.txt https: // www.CNN.com 

14. Modifier la résolution du nom

Si vous êtes un développeur Web et que vous souhaitez tester une version locale de ton domaine.com Avant de le pousser en direct, vous pouvez faire une résolution de boucles http: // www.ton domaine.com À votre local, comme ça:

$ curl - résoudre www.ton domaine.com: 80: localhost http: // www.ton domaine.com / 

Ainsi, la question de http: // www.ton domaine.com dira à Curl de demander le site à LocalHost au lieu d'utiliser DNS ou le / etc / hôtes déposer.

15. Taux de téléchargement limite

Pour empêcher Curl de arroser votre bande passante, vous pouvez limiter le taux de téléchargement à 100 ko / s comme suit.

$ curl - limit-taux 100k http: // yourDomain.com / votre file.le goudron.gz -o 
Résumé

Dans cet article, nous avons partagé un bref historique des origines de Curl et expliqué comment l'utiliser à travers 15 exemples pratiques.

Connaissez-vous toute autre commande Curl que nous avons peut-être manqué dans cet article? N'hésitez pas à les partager avec notre communauté dans les commentaires! De plus, si vous avez des questions, n'hésitez pas à nous le faire savoir. Nous avons hâte d'avoir de tes nouvelles!