How do I use Curl to make an HTTP request?

Curl is a command-line tool for transferring data between servers using various protocols, including HTTP, HTTPS, FTP, and more. It's a useful tool for web scraping as well, as it can retrieve or send data across a network.

Below is a step-by-step guide on how to use Curl to perform an HTTP request.

Making an HTTP GET Request

To make a GET request, use the following command:

curl http://example.com

In this example, we're making a GET request to example.com. By default, curl uses the GET HTTP method.

Making an HTTP POST Request

To make a POST request, use the -d option to send data. Here's an example:

curl -d "param1=value1&param2=value2" http://example.com

In this example, we're making a POST request to example.com with two data parameters.

Sending JSON Data

To send JSON data, you need to set the Content-Type header to application/json. Use the -H option to set headers. Here's an example:

curl -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json" http://example.com

In this example, we're posting JSON data to example.com.

Passing HTTP Headers

Use the -H option to pass headers. Here's an example:

curl -H "User-Agent: MyUserAgent" http://example.com

In this example, we're making a GET request to example.com with a custom User-Agent header.

Saving Output to a File

Use the -o option to save the output of a curl command to a file. Here's an example:

curl -o output.html http://example.com

In this example, we're saving the output of example.com to output.html.

Verbose Mode

Use the -v option to enable verbose mode, which shows information about the whole transaction, including server headers. Here's an example:

curl -v http://example.com

In this example, we're enabling verbose mode for a GET request to example.com.

Curl is a powerful tool with many more options. You can find more information in the curl documentation.

Related Questions

Get Started Now

WebScraping.AI provides rotating proxies, Chromium rendering and built-in HTML parser for web scraping
Icon