curl est un utilitaire de ligne de commande qui permet à l'utilisateur de transférer des données à l'aide de n'importe quel protocole standard. Il est fonctionnel sur tous les systèmes d'exploitation clés, y compris Linux. La commande curl est principalement utilisée pour tester les API (interface de programmation d'application) en envoyant la requête post et est préinstallée sur de nombreuses distributions Linux. Cependant, nous devons installer la commande curl manuellement dans le support à long terme d'Ubuntu 20.04 (LTS).
L'Ubuntu 20.04 LTS est utilisé pour la démonstration.
Installer curl sur Ubuntu 20.04
Tapez la commande ci-dessous pour installer curl dans Ubuntu 20.04 :
$ sudo apt install curl
Remarque :Vous pouvez ignorer cette étape si la commande curl est déjà installée sur votre système.
Une fois la commande curl installée, vérifiez la version installée à l'aide de la commande :
$ curl --version
Faire une requête POST en utilisant curl
Nous utiliserons la méthode de publication HTTP pour envoyer des données au serveur distant.
Voici la forme simple de la commande curl pour envoyer une demande de publication :
$ curl -X POST [options] [the URL of server]
L'option -X est utilisée pour décrire la méthode HTTP. La commande curl utilise la méthode Get comme méthode HTTP par défaut. Cependant, pour faire une requête POST, nous devons spécifier POST avec l'option -X.
Une demande de publication générale peut être faite comme suit :
$ curl –X POST https://example.com/
Envoyer des champs supplémentaires avec la requête POST
Normalement, une demande de publication est faite par un formulaire HTML.
J'ai créé une API de démonstration qui accepte le nom d'utilisateur et l'âge. Faisons une demande de publication et envoyons les valeurs de nom et d'âge. L'option –d est utilisée avec la commande curl pour envoyer les données du champ supplémentaire au serveur distant.
$ curl -X POST -d 'name=kamran&age=24' https://curlliuxexample.000webhostapp.com/index.php
Au lieu de l'option –d, nous pouvons également utiliser l'option –F pour envoyer les champs supplémentaires avec la demande de publication comme suit :
curl -X POST -F 'name=kamran' -F 'age=24' https://curlliuxexample.000webhostapp.com/index.php
Lors de l'utilisation de l'option –F, nous ne pouvons pas fusionner les données avec l'opérateur &. L'option –d utilise le type de contenu application/x-www-form-urlencoded tout en envoyant les données du champ supplémentaire au serveur, tandis que l'option-F utilise le type de contenu multipart/form-data.
Spécifiez l'en-tête ou le type de contenu dans la requête POST
L'en-tête ou le type de contenu peut être spécifié dans une requête POST à l'aide de l'option -H. Définissons le Content-Type sur application/json et envoyons les données JSON à l'aide de la commande :
$ curl -X POST -H "Content-Type: application/json" -d '{"name": "kamran", "age": "24"}' https://example.com
Téléchargez le(s) fichier(s) avec la commande curl
Les fichiers peuvent être téléchargés à l'aide de la commande curl. Pour importer un fichier avec la commande curl, ajoutez simplement "@" avant l'emplacement du fichier :
$ curl -X POST -F '[email protected]/home/Downloads/mypic.jpg' http://example.com
Dans la commande mentionnée ci-dessus, je télécharge un fichier image à l'aide de la commande curl.
Conclusion
Cet article décrit l'utilisation de la commande curl. À l'aide de la commande curl, nous pouvons envoyer les données de champ supplémentaires et télécharger les fichiers sur le serveur.