Qual è la sintassi della riga di comando cURL per fare una richiesta POST?

Come posso fare una richiesta POST con lo strumento a riga di comando cURL?

Con campi:

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

Con i campi specificati individualmente:

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 con campi e un nome di file:

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

Senza dati:

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

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

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

Per maggiori informazioni vedere il manuale di cURL. Il tutorial cURL sull'emulazione di un browser web è utile.

Con libcurl, usate la funzione curl_formadd() per costruire il vostro modulo prima di inviarlo nel solito modo. Vedere la documentazione di libcurl per maggiori informazioni.

Per file di grandi dimensioni, considera l'aggiunta di parametri per mostrare l'avanzamento del caricamento:

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

Il parametro -o output è richiesto, altrimenti non apparirà alcuna barra di avanzamento.

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

è l'esempio che si trova nel Manuale degli esempi di Curl.

Usa %26 per le virgolette se il precedente non funziona:

curl -d "name=Rafael%20Sagula%26phone=3320780" http://www.where.com/guest.cgi 
Commentari (0)
curl -v --data-ascii var=value http://example.com

e ci sono molte altre opzioni, controllare curl --help per maggiori informazioni.

Commentari (0)