Make a POST Request with From Data Contained Within a File

curl -v --data @payload.txt -H "Content-Type: application/x-www-form-urlencoded" -X POST http://server:8080

where payload.txt contains key-value pairs.

Send a Compressed Request

curl can be used to send a compressed HTTP request - HTTP requests are not usually compressed, only the responses are, but the standard does not prohibit setting the Content-Encoding header to gzip, deflate or others and then sending a compressed body.

To send a compressed POST HTTP request, first create a file containing the body that shall be sent, say, request.txt and then compress the file using gzip:

gzip request.txt

For this example, the request.txt file contains POST key-value data such that the request content type will be set to application/x-www-url-form-urlencoded.

The command will create a compressed file request.txt.gz. Afterward, the curl command shall read:

curl -v --data-binary @request.txt.gz "Content-Type: application/x-www-form-urlencoded" -H "Content-Encoding: gzip" -X POST http://server.tld/

where:

  • -v turns on verbosity,
  • –data-binary @request.txt.gz will send the request.txt.gz file as the request body (mind the @, it is necessary),
  • the request Content-Type is set to application/x-www-form-urlencoded indicating that the request.txt.gz file contains POST key-value data,
  • the request Content-Encoding is set to gzip,
  • the request will be sent to http://server.tld/

Download a File to the Current Directory

Command Line Aspect Visual Mnemonic Graft
-fLOsS

The following command:

curl -fLOsS https://www.deb-multimedia.org/pool/main/d/deb-multimedia-keyring/deb-multimedia-keyring_2024.9.1_all.deb

will download the binary file deb-multimedia-keyring_2024.9.1_all.deb to the current directory by using fLOsS as command-line parameters passed to curl.

The parameters -fLOsS carry the following meaning:

  • -f makes curl fail in case there are errors and to not output any document,
  • -L means to follow any redirects,
  • -O tells curl to save the the body to the current directory,
  • -s makes curl silent,
  • -S makes curl show an error in case the download fails (this combines with -s, as in, be silent if no fail)

fuss/curl.txt · Last modified: 2025/01/28 19:29 by office

Wizardry and Steamworks

© 2025 Wizardry and Steamworks

Access website using Tor Access website using i2p Wizardry and Steamworks PGP Key


For the contact, copyright, license, warranty and privacy terms for the usage of this website please see the contact, license, privacy, copyright.