Outils pour utilisateurs

Outils du site


informatique:curl

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
informatique:curl [2021/04/19 11:39] – créée bertrandinformatique:curl [2023/07/26 12:28] – [Voir aussi] bertrand
Ligne 4: Ligne 4:
 Voici une page qui illustre bien son utilisation :\\ Voici une page qui illustre bien son utilisation :\\
 https://linuxize.com/post/curl-rest-api/ https://linuxize.com/post/curl-rest-api/
 +
 +quelques extraits traduits :
 +
 +<note>Les exemples ont recourt à https://jsonplaceholder.typicode.com/guide/, une API de test</note>
 +
 +==== HTTP POST ====
 +
 +La méthode POST est utilisée pour créer une ressource sur le serveur. Si la ressource existe, elle est écrasée.
 +
 +La commande suivante permet d'exécuter une requête POST utilisant des données précisées via l'option //-d// :
 +
 +<code bash>
 +curl -X POST -d "userId=5&title=Hello World&body=Post body." https://jsonplaceholder.typicode.com/posts
 +</code>
 +
 +Le type du corps de la requête est défini par l'en-tête //Content-Type//. Par défaut, notamment si non précisé, curl utilisera //Content-Type: application/x-www-form-urlencoded//.
 +
 +Pour envoyer des données formatés au format JSON, il faut définir le type à //application/json// :
 +<code bash>
 +curl -X POST \
 +    -H "Content-Type: application/json" \
 +    -d '{"userId": 5, "title": "Hello World", "body": "Post body."}' \
 +    https://jsonplaceholder.typicode.com/posts
 +</code>
 +
 +Pour utiliser un token de sécurité et préciser que notre paramètre JSON est un objet :
 +<code bash>
 +curl -X POST
 +    -H "Authorization: Bearer $TOKEN" \
 +    -H "Content-Type: application/json" \
 +    -H "Prefer: params=single-object" \
 +    -d '{"userId": 5, "title": "Hello World", "body": "Post body."}' \
 +    https://mon-web-service.mon-domaine.fr/rpc/ma-fonction
 +</code>
 +
 +<note important>le token doit être mémorisé au préalable dans la variable d'environnement :
 +<code bash>export TOKEN="eyJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoic2lnX3VzZXIifQ.Q5gbPnMVYUwSxdjFzU3aMm2RVUAXN5dyfCc8__OVFaI"</code>
 +</note>
 +
 +===== Voir aussi =====
 +  * [[https://curl.se/]]
 +  * [[informatique:insomnia|Insomnia]]
 +  * [[https://jsonplaceholder.typicode.com|JSONPlaceholder, serveur REST pour faire des tests]]
 +  * [[informatique:api-rest:postgrest]]
 +  * [[https://developer.mozilla.org/fr/docs/Web/API/Fetch_API|fetch api pour l'accès depuis un programme]]
informatique/curl.txt · Dernière modification : 2024/02/21 08:25 de bertrand