Méthodes HTTP et envoi de données
curl
prend en charge diverses méthodes HTTP en plus de la méthode GET par défaut. Dans cette étape, vous apprendrez à utiliser différentes méthodes HTTP et à envoyer des données avec vos requêtes.
Utilisation de la méthode POST
La méthode POST est couramment utilisée pour soumettre des données à un serveur. Vous pouvez utiliser l'option -X
pour spécifier la méthode HTTP et l'option -d
pour fournir les données. Essayons :
curl -X POST -d "name=John&age=25" https://httpbin.org/post
Cette commande envoie une requête POST avec des données de formulaire à httpbin.org. La réponse devrait renvoyer les données que vous avez envoyées :
{
"args": {},
"data": "",
"files": {},
"form": {
"age": "25",
"name": "John"
},
"headers": {
"Accept": "*/*",
"Content-Length": "16",
"Content-Type": "application/x-www-form-urlencoded",
"Host": "httpbin.org",
"User-Agent": "curl/7.81.0",
"X-Amzn-Trace-Id": "Root=1-65b..."
},
"json": null,
"origin": "your-ip-address",
"url": "https://httpbin.org/post"
}
Envoi de données JSON
Pour envoyer des données JSON, vous devez spécifier l'en-tête Content-Type. Exécutez :
curl -X POST -H "Content-Type: application/json" -d '{"name":"John","age":25}' https://httpbin.org/post
La réponse devrait inclure vos données JSON :
{
"args": {},
"data": "{\"name\":\"John\",\"age\":25}",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Content-Length": "24",
"Content-Type": "application/json",
"Host": "httpbin.org",
"User-Agent": "curl/7.81.0",
"X-Amzn-Trace-Id": "Root=1-65b..."
},
"json": {
"age": 25,
"name": "John"
},
"origin": "your-ip-address",
"url": "https://httpbin.org/post"
}
Utilisation d'autres méthodes HTTP
curl
prend en charge toutes les méthodes HTTP standard. Essayons une requête PUT :
curl -X PUT -d "data=example" https://httpbin.org/put
Vous pouvez également essayer une requête DELETE :
curl -X DELETE https://httpbin.org/delete
Chacune de ces commandes renverra une réponse montrant les détails de votre requête.
Enregistrons la sortie d'une requête POST dans un fichier :
curl -X POST -d "name=John&age=25" -o data/post_response.json https://httpbin.org/post
Vérifiez que le fichier a été créé :
ls -l data/post_response.json
Et vérifiez son contenu :
cat data/post_response.json
Vous devriez voir la réponse JSON de httpbin.org, similaire à ce qui a été montré précédemment.