GNU/Linux >> Tutoriels Linux >  >> Debian

Comment faire une requête POST avec curl

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.


Debian
  1. Comment faire une vidéo en stop motion ou time-lapse avec webcam ?

  2. Comment faire fonctionner Cisco Webex avec 13.10 64 bits ?

  3. Comment générer une demande de signature de certificat (CSR) avec OpenSSL ?

  4. Comment rendre le fichier clairsemé?

  5. Comment puis-je faire un HTTP PUT avec Wget ?

Comment faire une requête POST avec cURL

Comment installer Make sur Ubuntu 20.04

Comment télécharger des fichiers avec la commande Curl sous Linux

Comment installer Sysdig sur Debian 11

Comment faire une requête POST avec curl

Comment faire un flash LED avec le Raspberry Pi