cURL is a versatile tool that allows you to make requests to servers with various protocols. Below are some of the most commonly used options and flags in cURL.
-d
or --data
This option sends the specified data in a POST request to the HTTP server in the same way that a browser does when a user has filled in an HTML form and presses the submit button.
Example:
curl -d "username=user&password=pass" https://example.com/login
-H
or --header
This option lets you send custom headers in an HTTP request.
Example:
curl -H "Content-Type: application/json" -H "Accept: application/json" https://example.com/api
-I
or --head
This option fetches only the HTTP-header of the document. The document itself will not be fetched. This is useful if you want to see if a page or API endpoint exists or to check other metadata without actually downloading the body.
Example:
curl -I https://example.com
-X
or --request
This option lets you specify a custom request method to use when communicating with the HTTP server.
Example:
curl -X DELETE https://example.com/delete-something
-o
or --output
This option writes the output to a file instead of stdout.
Example:
curl -o myfile.txt https://example.com
-v
or --verbose
This option makes the fetching more talkative. It will give more information about what is happening.
Example:
curl -v https://example.com
-u
or --user
This option lets you specify the user name and password to use for server authentication.
Example:
curl -u username:password https://example.com
-L
or --location
This option allows cURL to handle redirects. If the server reports that the requested page has moved to a different location, this option will make cURL redo the request on the new location.
Example:
curl -L https://example.com
-F
or --form
This option lets you submit form data. This causes cURL to POST data using the Content-Type
multipart/form-data.
Example:
curl -F "name=value" -F "file=@filename" https://example.com
Remember, these are just some of the commonly used cURL options and flags. cURL has a vast number of options and flags that you can use to customize your requests as needed.