Quelle est la syntaxe de la ligne de commande cURL pour effectuer une requête POST ?

Comment faire une demande [POST][1] avec l'outil de ligne de commande [cURL][2] ?

[1] : http://en.wikipedia.org/wiki/POST_%28HTTP%29 [2] : http://en.wikipedia.org/wiki/CURL

Avec des champs :

curl --data "param1=value1&param2=value2" https://example.com/resource.cgi

Avec des champs spécifiés individuellement :

curl --data "param1=value1" --data "param2=value2" https://example.com/resource.cgi

Multipart :

curl --form "fileupload=@my-file.txt" https://example.com/resource.cgi

Multipart avec des champs et un nom de fichier :

curl --form "fileupload=@my-file.txt;filename=desired-filename.txt" --form param1=value1 --form param2=value2 https://example.com/resource.cgi

Sans données :

curl --data '' https://example.com/resource.cgi

curl -X POST https://example.com/resource.cgi

curl --request POST https://example.com/resource.cgi

Pour plus d'informations, consultez [le manuel cURL][1]. Le [tutoriel cURL sur l'émulation d'un navigateur web][2] est utile.

Avec libcurl, utilisez la fonction curl_formadd() pour construire votre formulaire avant de le soumettre de la manière habituelle. Voir la [documentation libcurl][3] pour plus d'informations.

Pour les fichiers volumineux, pensez à ajouter des paramètres pour montrer la progression du téléchargement :

curl --tr-encoding -X POST -v -# -o output -T filename.dat \
  http://example.com/resource.cgi

Le -o output est requis, sinon aucune barre de progression n'apparaîtra.

[1] : http://curl.haxx.se/docs/manual.html [2] : http://curl.haxx.se/docs/httpscripting.html [3] : http://curl.haxx.se/libcurl/c/

Commentaires (6)
curl -d "name=Rafael%20Sagula&phone=3320780" http://www.where.com/guest.cgi 

est l'exemple trouvé dans le [Manuel d'exemples Curl][1].

Utilisez %26 pour les esperluettes si l'exemple ci-dessus ne fonctionne pas :

curl -d "name=Rafael%20Sagula%26phone=3320780" http://www.where.com/guest.cgi 

[1] : http://curl.haxx.se/docs/manpage.html#-d

Commentaires (0)
curl -v --data-ascii var=value http://example.com

et il y a beaucoup d'autres options, consultez curl --help pour plus d'informations.

Commentaires (0)