Que ce soit pour un test Sortie API Avant de le publier, ou juste pour confirmer combien Réponse du site Web (Par exemple, pour vérifier qu'il n'est pas désactivé), la commande Curl est réellement présente pour vous aider.
En ma qualité Analyste de données , Je devais l'utiliser de temps en temps. Cependant, le plus souvent, j'ai fini par remplacer les paramètres par Commande Curl A été copié et collé Chaîne lâche pour mon équipe.
J'ai décidé que je devais mieux comprendre cet outil puissant si je voulais l'utiliser à son plein potentiel, et maintenant je suis ici pour partager certaines des choses les plus intéressantes que j'ai trouvées dans ce Tutoriel Curl.
Si vous souhaitez ajouter des conseils ou des astuces, veuillez le faire dans les commentaires, car ma compréhension de cet outil en est encore à ses balbutiements.
Curl est Une aide puissante Pour que la ligne de commande communique avec Serveur Web à travers terminal. Il est souvent confondu avec une commande wget Il est courant que les deux puissent soulever etTéléchargez le contenu Depuis le serveur Web et ils fonctionnent sur toutes les plateformes. Donc, pour clarifier les choses, voici les différences Entre Wget Curl et quelques commandes Curl populaires que vous devez connaître pour commencer.
Comparaison entre Curl et Wget
En apparence, Curl et Wget peuvent être considérés comme un utilitaire qui peut demander et télécharger du contenu à partir de serveurs Web. Cependant, si vous regardez en profondeur, il y a beaucoup plus à révéler. La commande Curl prend en charge de nombreux protocoles allant de HTTPS et SFTP à IMAP et POP3 , Etc., alors que seule la commande Wget est prise en charge HTTP et HTTPS et Ftp.
L'autre différence majeure est que Wget prend en charge le téléchargement fréquent, contrairement à Curl. Par conséquent, Wget téléchargera tout de la page Web vers les pages liées, contrairement à Curl. D'autre part, Curl s'appuie sur la bibliothèque libcurl qui fournit des API. Par conséquent, il peut être facilement utilisé dans les scripts de ligne de commande ainsi que dans les applications basées sur l'interface graphique. Vous pouvez considérer Curl comme un navigateur Web en ligne de commande qui a été dépouillé de son apparence extérieure, qui peut télécharger et télécharger du contenu vers et depuis le serveur Web.
Installer Curl sur Windows
Curl est pré-installé sur les systèmes d'exploitation Unix ou de type Unix, il peut donc être utilisé directement sur macOS. Cependant, il peut également être utilisé sur des systèmes non Unix comme Windows à l'aide de la bibliothèque «libcurl».
Sous Windows, tout ce que nous devons faire est Télécharger le fichier zip libcurl Et apportez quelques modifications pour le rendre utilisable via Invite de commandes. Tout d'abord, téléchargez le fichier zip libcurl pour Windows 32 bits ou 64 bits selon ce que vous possédez. Après avoir téléchargé le fichier, extrayez le contenu dans un dossier. Pour le contexte, voici une capture d'écran du contenu extrait du dossier libcurl.
À l'intérieur du volume extrait, dirigez-vous vers Dossier bin Copiez les fichiers suivants - "curl.exeEt curl-ca-bundle" .
Créez un dossier appelé "boucleÀ l'intérieur du lecteur «C:», collez les deux fichiers copiés. Une fois cela fait, vous pouvez utiliser la commande curl directement lorsque vous accédez au dossier «C: \ curl» dans une invite de commande.
Si vous souhaitez exécuter curl directement à partir de cmd , Je recommande de créer une variable d'environnement. Pour ce faire, rendez-vous sur le "Commencer«Et écris»Variables d'environnement«Cliquez sur le premier résultat.
Dans la fenêtre popup Propriétés système , Cliquez sur le bouton Variables d'environnement en bas.
À l'écran Variables d'environnement , Cliquez sur le "Nouveau"Dans la moitié supérieure pour ajouter Variable d'environnement utilisateur.
À l'écran Variable utilisateur Nouveau, ajoutez l'entrée suivante. Après cela, cliquez sur "Ok" Puis "Application“Enregistrer les modifications.
Variable name: curl Variable value: C:\curl
Une fois terminé, cliquez sur "Ok"Sur la liste"Variables d'environnement«Enregistrez les modifications. Si vous postez ceci, vous devriez pouvoir utiliser la commande curl directement à l'invite de commande. Pour le tester, entrez la commande suivante
curl --version
Alternativement, vous pouvez également activer WSL Pour Windows et utilisation coquille bash Ubuntu Courir Commandes curl de bash sous Windows.
Meilleures commandes Curl et comment les utiliser
Avant de commencer avec les commandes, notez que les guillemets simples ne fonctionnent pas sur la ligne de commande Windows. Vous devez les convertir en guillemets doubles. Pour le shell bash, vous travaillerez comme d'habitude avec des guillemets simples.
1. Parcourez le code HTML
La fonction principale de Curl est de parcourir le code HTML de la page Web. Pour ce faire, ajoutez une commande curl à l'URL de la page Web.
curl https://example.com
Cette commande affichera la sortie sur le terminal. Vous pouvez également télécharger le contenu du fichier en sélectionnant "-O”Avant l'URL. Cela enregistrera le fichier sur votre système sous le même nom que le fichier distant. Par exemple, si le nom du fichier HTML sur le serveur est «home.html», il sera également enregistré localement sous le nom «home.html».
curl -O http://example.com/home.html
Vous pouvez également stocker des données avec des noms de fichiers personnalisés. Attachez donc la commande à "-oSuivi du nom du fichier.
curl http://example.com/home.html -o sample-file.txt
Vous pouvez également télécharger plusieurs fichiers en spécifiant plusieurs URL de fichiers distants.
2. Téléchargez des fichiers avec Curl
Comme wget , Vous pouvez télécharger des fichiers à l'aide de Curl. Vous pouvez utiliser le commutateur -o Et spécifiez le nom du fichier, sinon le fichier sera enregistré avec le nom du fichier distant.
curl -O http://example.com/linux.iso
Par exemple, la commande suivante téléchargera la dernière version de Menthe Linux Depuis le serveur Web.
curl -O http://mirrors.gigenet.com/linuxmint/iso/stable/19.2/linuxmint-19.2-cinnamon-64bit.iso
Vous pouvez également utiliser "-#"Ou"–Progress-bar”Pour afficher les progrès réalisés sous une forme hachée.
3. Reprendre l'échec du téléchargement
De plus, si le téléchargement est interrompu, vous pouvez le reprendre en utilisant le "-C-". Cela ressemblera à ceci.
curl -C http://example.com/linux.iso
Par exemple, la commande suivante reprendra le téléchargement à partir du dernier point de téléchargement ayant échoué.
curl -C - -O http://mirrors.gigenet.com/linuxmint/iso/stable/19.2/linuxmint-19.2-cinnamon-64bit.iso
4. Informations IP
Vous pouvez utiliser la commande Curl suivante pour obtenir tous Informations sur le réseau À propos de l'appareil
curl ipinfo.io
Au lieu de cela, si vous savez Adresse IP Et vous voulez d'autres détails comme les coordonnées de l'emplacement, de la ville, du fuseau horaire, etc., vous pouvez utiliser la formule suivante pour la commande.
curl ipinfo.io/14.141.173.170
5. Envoyer des e-mails
Puisque Curl prend en charge le protocole SMTP, POP3, vous pouvez l'utiliser pour envoyer des e-mails. Vous trouverez ci-dessous un modèle pour envoyer un e-mail via Gmail.
Remplacez l'adresse e-mail et le mot de passe de la commande suivante en conséquence.
curl --url "smtps://smtp.gmail.com:587" --ssl-reqd --mail-from "sender@gmail.com" --mail-rcpt "receiver@gmail.com" --upload-file "C:\mail.txt" --user "sender@gmail.com:password"
Assurez-vous d'activer Accès à des applications moins sécurisées Compte Google
6. Le dictionnaire
Le protocole libcurl dict peut être utilisé pour trouver facilement la signification d'un mot. La source des mots et des significations est WordNet. Vous trouverez ci-dessous quelque chose qui vous permet de faire de même.
curl dict://dict.org/d:english-word
7. Commandes POST
Vous pouvez envoyer des requêtes POST à un serveur Web à l'aide de la commande curl. La syntaxe est la suivante
curl -X POST -F "name=user-name" -F "password=password" http://www.example.com
Les données du modèle POST peuvent également être envoyées sous forme de fichier JSON. Utilisez la commande suivante pour ce faire.
curl -H "Content-Type: application/json" https://www.example.com
8. Convertir des fichiers
Puisque Curl prend en charge les données de formulaire en plusieurs parties, vous pouvez l'utiliser pour télécharger et même convertir des fichiers instantanément. Par exemple, je veux Convertir un fichier HTML ceci au format PDF. Par conséquent, j'utiliserai API Docverter pour faire cela. L'API Docverter prend en charge plusieurs formats HTML et fichiers Markdown Il peut être converti en Docx et PDF et ePub Etc.
Alternativement, vous pouvez également utiliser API Google Drive v3 Convertissez des feuilles de calcul Excel, des documents, etc.
curl "http://c.docverter.com/convert" -F from=html -F to=pdf -F input_files[]=@your-file-name -o "output-file-name.pdf"
Mots de clôture
La commande Curl est principalement utilisée dans les programmes pour échanger des données, des fichiers et des formulaires. Outre les commandes ci-dessus, il existe de nombreuses API, groupes ou Scripts Autre que vous pouvez utiliser avec Curl. Vous pouvez en savoir plus à ce sujet sur les dépôts GitHub ou Stack Overflow. Pour plus de problèmes ou de questions concernant une commande Curl, faites-le moi savoir dans les commentaires ci-dessous.