curl
-O, –remote-name: save the file with remote filename
-o, –no-remote-name: save the file as the name provided
-L, –location: follow 3xx redirect
-#, –progress-bar: show download progress
-X, –request: specify request method
-F, –form: multipart post
-f, –fail: Fail silently (no output at all) on server errors. This is mostly done to enable scripts etc to better deal with failed attempts.
-k, –insecure: ignore SSL certificate
automatically find out where/how to resume the transfer
post body from pipe
cat file.json | curl --request POST https://httpbin.org/post --data-binary @-
post form data
curl --request POST https://httpbin.org/post -F X=1
upload a file
curl -X POST https://httpbin.org/post -F 'file=@filename.txt'