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¶m2=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 "[email protected]" https://example.com/resource.cgi
Multipart avec des champs et un nom de fichier :
curl --form "[email protected];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/
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
curl -v --data-ascii var=value http://example.com
et il y a beaucoup d'autres options, consultez curl --help
pour plus d'informations.