Hva er cURL-kommandolinjesyntaksen for å gjøre en POST-forespørsel?

Hvordan kan jeg sende en POST-forespørsel med kommandolinjeverktøyet cURL?

Med felt:

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

Med felt spesifisert individuelt:

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

Flere deler:

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

Multipart med felt og et filnavn:

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

Uten data:

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

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

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

For mer informasjon, se cURL-manualen. cURL-veiledningen om emulering av en nettleser er nyttig.

Med libcurl bruker du funksjonen curl_formadd() for å bygge skjemaet ditt før du sender det inn på vanlig måte. Se libcurl-dokumentasjonen for mer informasjon.

For store filer bør du vurdere å legge til parametere for å vise fremdriften i opplastingen:

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

Utgangen -o er påkrevd, ellers vises ingen fremdriftslinje.

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

er eksemplet som finnes i Curl Example Manual.

Bruk %26 for ampersandene hvis ovenstående ikke fungerer:

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

og det er mange flere alternativer, sjekk curl --help for mer informasjon.

Kommentarer (0)