CURL 7.64.1 released: tool to transfer data from or to a server

curl is a tool to transfer data from or to a server, using one of the supported protocols (HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP or FILE). The command is designed to work without user interaction.
curl offers proxy support, user authentication, FTP uploading, HTTP posting, SSL connections, cookies, file transfer resume, Metalink, and many other features.

CURL 7.64.1 released.






How to use curl

Basic GET

GET a single resource via its URI

The default operation is a GET:


GET multiple resources where IDs are in a range

Use square brackets with a dashed range:


GET multiple resources where IDs aren’t in a range

Use curly braces with comma-delimited strings:


Using HTTP Headers

Accept only the application/json content-type

Use the header option: -H or –header

curl -H 'Accept: application/json'

Add multiple headers

Use multiple -H options:

curl -H ‘Accept: application/json’ -H ‘Accept-Encoding: gzip’

Note: the output from this is likely to be unreadable because it’s gzipped!

More likely you’d use this with ETags:

curl -H ‘Accept: application/json’ -H ‘If-None-Match: “1cc044-172-3d9aee80″‘

Show the network and HTTP “conversation”

Use the verbose option: -v or –verbose

curl -v -H


POST data to a URI

To send data to the server, you use either POST or PUT, depending on what the API requires. To do a POST, you simply use the -d (–data)  with some content:

curl -d "name=Ted"

Note that this uses application/x-www-form-urlencoded as the Content-Type, i.e.,as if it was submitted by an HTML Form. You can use multiple -d options, which will be combined, e.g., these two commands produce the same content:

curl -d “first=Ted” -d “last=Young”
curl -d “first=Ted&last=Young”

If you want to send JSON, you’ll need to specify the Content-Type explicitly using the -H (header) option:

curl -d '{"name": "Ted"}' -H 'Content-Type: application/json'

PUT data to a URI

If you need to use the PUT method, you’ll need to override the method with the -X (–request) option:

curl -X PUT -d ‘{“name”: “Ted”}’ -H ‘Content-Type: application/json’