Wat is de cURL command-line syntaxis om een POST verzoek te doen?

Hoe kan ik een POST verzoek maken met de cURL command-line tool?

Met velden:

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

Met afzonderlijk gespecificeerde velden:

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 met velden en een bestandsnaam:

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

Zonder gegevens:

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

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

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

Voor meer informatie zie de cURL handleiding. De cURL tutorial over het emuleren van een web browser is nuttig.

Met libcurl, gebruik de curl_formadd() functie om je formulier op te bouwen voordat je het op de gebruikelijke manier indient. Zie de libcurl documentatie voor meer informatie.

Voor grote bestanden, overweeg om parameters toe te voegen om de upload voortgang te tonen:

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

De -o output is vereist, anders zal er geen voortgangsbalk verschijnen.

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

is het voorbeeld uit de Krul Voorbeeld Handleiding.

Gebruik %26 voor de ampersands als het bovenstaande niet werkt:

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

en er zijn nog veel meer opties, kijk bij curl --help voor meer informatie.

Commentaren (0)