13 -o <file> # --output: write to file
14 -u user:pass # --user: Authentication
19 -vv # Even more verbose
20 -s # --silent: don't show progress meter or errors
21 -S # --show-error: when used with --silent (-sS), show errors but no progress meter
25 -i # --include: Include the HTTP-header in the output
26 -I # --head: headers only
33 -L # follow link if page redirects
34 -F # --form: HTTP POST data for multipart/form-data
40 -d 'data' # --data: HTTP post data, URL encoded (eg, status="Hello")
41 -d @file # --data via file
42 -G # --get: send -d data via get
48 -A <str> # --user-agent
49 -b name=val # --cookie
51 -H "X-Foo: y" # --header
52 --compressed # use deflate/gzip
63 -E, --cert <cert> # --cert: Client cert file
64 --cert-type # der/pem/eng
65 -k, --insecure # for self-signed certs
73 curl -d password=x http://x.com/y
78 curl -u user:pass -d status="Hello" http://twitter.com/statuses/update.xml
82 # multipart file upload
83 curl -v -include --form key1=value1 --form upload=@localfilename URL
85 # multipart form: send data from text field and upload file
86 curl -F person=anonymous -F secret=@file.txt http://example.com/submit.cgi
90 # Use Curl to Check if a remote resource is available
91 # details: https://matthewsetter.com/check-if-file-is-available-with-curl/
92 curl -o /dev/null --silent -Iw "%{http_code}" https://example.com/my.remote.tarball.gz