To capture cURL output to a file, you can use redirection or the -o (or --output) option of cURL. I will explain both methods separately and provide examples.
Method 1: Using Redirection
On Unix-like systems, you can redirect cURL output to a file using the > operator. For example, to save the output of http://example.com to a file named output.txt, you can use the following command:
bashcurl http://example.com > output.txt
This command saves the output of http://example.com (which is typically HTML content) to the output.txt file in the current directory. If the file already exists, it will overwrite the existing content.
Method 2: Using -o or --output
The -o option of cURL directly saves the output to a specified file. When using this option, even if the file already exists, the content will be overwritten by the new output. Here is an example command:
bashcurl -o saved_output.txt http://example.com
This command also saves the output of http://example.com to the saved_output.txt file. Compared to using redirection, the -o option typically provides more flexibility and error handling options.
Comprehensive Example
Suppose you need to regularly capture the response data of an API and save it to a log file in your work. You can write a simple shell script using the -o option of cURL to achieve this:
bash#!/bin/bash # Current date and time now=$(date +"%Y-%m-%d_%H-%M-%S") # Output filename includes date and time filename="api_output_$now.txt" # Use cURL to capture API output curl -o $filename http://api.example.com/data
This script captures the output of http://api.example.com/data each time it runs and saves the result to a file with a timestamp in the filename, avoiding overwriting previous data and facilitating data tracking and historical comparison.
These are the two main methods to capture cURL output to a file.