IT for operating businesses
Using the curl Command
Transfers data from or to a server. Supports most protocols, including HTTP, HTTPS, FTP, SCP, etc. See also: `wcurl`, `wget`. More information: <https://curl.se/docs/manpage.html>.
- Make an HTTP GET request and dump the contents in
stdout:
curl *https://example.com*
- Make an HTTP GET request, follow any
3xxredirects, and dump the reply headers and contents tostdout:
curl *[-L|--location]* *[-D|--dump-header]* - *https://example.com*
- Download a file, saving the output under the filename indicated by the URL:
curl *[-O|--remote-name]* *https://example.com/filename.zip*
- Send form-encoded data (POST request of type
application/x-www-form-urlencoded). Use--data @file_nameor--data @'-'to read fromstdin:
curl *[-X|--request]* POST *[-d|--data]* '*name=bob*' *http://example.com/form*
- Send a request with an extra header, using a custom HTTP method and over a proxy (such as BurpSuite), ignoring insecure self-signed certificates:
curl *[-k|--insecure]* *[-x|--proxy]* *http://127.0.0.1:8080* *[-H|--header]* '*Authorization: Bearer token*' *[-X|--request]* *GET|PUT|POST|DELETE|PATCH|...* *https://example.com*
- Send data in JSON format, specifying the appropriate Content-Type header:
curl *[-d|--data]* '*{"name":"bob"*}' *[-H|--header]* '*Content-Type: application/json*' *http://example.com/users/1234*
- Pass client certificate and private key for the request, skipping certificate validation:
curl *[-E|--cert]* *client.pem* --key *key.pem* *[-k|--insecure]* *https://example.com*
- Resolve a hostname to a custom IP address, with verbose output (similar to editing the
/etc/hostsfile for custom DNS resolution):
curl *[-v|--verbose]* --resolve *example.com*:*80*:*127.0.0.1* *http://example.com*
This content is compiled from the open-source tldr-pages project under the MIT license.