cURL est un utilitaire de ligne de commande permettant de transférer des données depuis ou vers un serveur distant à l'aide de l'un des protocoles pris en charge. Il est installé par défaut sur macOS et la plupart des distributions Linux.
cURL est utilisé par les développeurs pour tester les API, afficher les en-têtes de réponse et effectuer des requêtes HTTP.
Dans cet article, nous allons vous expliquer comment utiliser cURL pour faire des requêtes POST. La méthode HTTP POST est utilisée pour envoyer des données au serveur distant.
Faire une requête POST #
La forme générale du curl
commande pour faire une requête POST est la suivante :
curl -X POST [options] [URL]
Le -X
L'option spécifie quelle méthode de requête HTTP sera utilisée lors de la communication avec le serveur distant. Le type du corps de la requête est indiqué par son Content-Typeheader.
Généralement, une requête POST est envoyée via un formulaire HTML. Les données envoyées au formulaire sont généralement encodées soit en multipart/form-data
ou application/x-www-form-urlencoded
type de contenu.
Pour créer une requête POST, utilisez le -F
option, suivi du field=value
paire. L'exemple suivant montre comment faire une requête POST à un formulaire qui a des champs "nom" et "email":
curl -X POST -F 'name=linuxize' -F '[email protected]' https://example.com/contact.php
Lorsque le -F
l'option est utilisée, curl
envoie les données en utilisant le multipart/form-data
Type de contenu.
Une autre façon de faire une requête POST est d'utiliser le -d
option. Cela provoque curl
envoyer les données à l'aide de l'application/x-www-form-urlencoded
Type de contenu.
curl -X POST -d 'name=linuxize' -d '[email protected]' https://example.com/contact.php
Si le -d
l'option est utilisée plus d'une fois vous pouvez fusionner les données en utilisant le &
symbole :
curl -X POST -d 'name=linuxize&[email protected]' https://example.com/contact.php
Spécification du type de contenu #
Pour définir un en-tête ou un type de contenu spécifique, utilisez le -H
option. La commande suivante définit le type de requête POST sur application/json
et envoie un objet JSON :
curl -X POST -H "Content-Type: application/json" \
-d '{"name": "linuxize", "email": "[email protected]"}' \
https://example/contact
Télécharger des fichiers #
POSTER un fichier avec curl
, ajoutez simplement le @
symbole avant l'emplacement du fichier. Le fichier peut être une archive, une image, un document, etc.
curl -X POST -F 'image=@/home/user/Pictures/wallpaper.jpg' http://example.com/upload
Conclusion #
Nous vous avons montré comment utiliser curl
pour effectuer des requêtes POST. Pour plus d'informations sur curl
, visitez la page de documentation Curl.
Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.