Skip to navigation
Practical curl usage
04.05.18
Common Options -#, --progress-bar Make curl display a simple progress bar instead of the more informational standard meter. -b, --cookie
Supply cookie with request. If no =, then specifies the cookie file to use (see -c). -c, --cookie-jar
File to save response cookies to. -d, --data
Send specified data in POST request. Details provided below. -f, --fail Fail silently (don't output HTML error form if returned). -F, --form
Submit form data. -H, --header
Headers to supply with request. -i, --include Include HTTP headers in the output. -I, --head Fetch headers only. -k, --insecure Allow insecure connections to succeed. -L, --location Follow redirects. -o, --output
Write output to . Can use --create-dirs in conjunction with this to create any directories specified in the -o path. -O, --remote-name Write output to file named like the remote file (only writes to current directory). -s, --silent Silent (quiet) mode. Use with -S to force it to show errors. -v, --verbose Provide more information (useful for debugging). -w, --write-out
Make curl display information on stdout after a completed transfer. See man page for more details on available variables. Convenient way to force curl to append a newline to output: -w "\n" (can add to ~/.curlrc). -X, --request The request method to use. POST When sending data via a POST or PUT request, two common formats (specified via the Content-Type header) are: application/json application/x-www-form-urlencoded Many APIs will accept both formats, so if you're using curl at the command line, it can be a bit easier to use the form urlencoded format instead of json because the json format requires a bunch of extra quoting curl will send form urlencoded by default, so for json the Content-Type header must be explicitly set This gist provides examples for using both formats, including how to use sample data files in either format with your curl requests. curl usage For sending data with POST and PUT requests, these are common curl options: request type -X POST -X PUT content type header -H "Content-Type: application/x-www-form-urlencoded" -H "Content-Type: application/json" data form urlencoded: -d "param1=value1¶m2=value2" or -d @data.txt json: -d '{"key1":"value1", "key2":"value2"}' or -d @data.json POST application/x-www-form-urlencoded application/x-www-form-urlencoded is the default: curl -d "param1=value1¶m2=value2" -X POST http://localhost:3000/data explicit: curl -d "param1=value1¶m2=value2" -H "Content-Type: application/x-www-form-urlencoded" -X POST http://localhost:3000/data with a data file curl -d "@data.txt" -X POST http://localhost:3000/data POST application/json curl -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json" -X POST http://localhost:3000/data
https://gist.github.com/subfuzion/08c5d85437d5d4f00e58
Reply
Anonymous
Information Epoch 1732667004
Make every program a filter.
Home
Notebook
Contact us