wcurl - a simple wrapper around curl to easily download files.
Contents
Copyright
wcurl is licensed under the curl license
Curl_Options
Any option supported by curl can be set here. This is not used by wcurl; it's instead forwarded to the
curl invocation.
Description
wcurl is a simple curl wrapper which lets you use curl to download files without having to remember any
parameters.
Simply call wcurl with a list of URLs you want to download and wcurl will pick sane defaults.
If you need anything more complex, you can provide any of curl's supported parameters via the
--curl-options option. Just beware that you likely should be using curl directly if your use case is not
covered.
By default, wcurl will:
• Percent-encode whitespaces in URLs;
• Download multiple URLs in parallel if the installed curl's version is >= 7.66.0;
• Follow redirects;
• Automatically choose a filename as output;
• Avoid overwriting files if the installed curl's version is >= 7.83.0 (--no-clobber);
• Perform retries;
• Set the downloaded file timestamp to the value provided by the server, if available;
• Default to the protocol used as https if the URL doesn't contain any;
• Disable curl's URL globbing parser so {} and [] characters in URLs are not treated specially;
• Percent-decode the resulting filename;
• Use "index.html" as default filename if there's none in the URL.
Examples
Download a single file:
wcurlexample.com/filename.txt
Download two files in parallel:
wcurlexample.com/filename1.txtexample.com/filename2.txt
Download a file passing the --progress-bar and --http2 flags to curl:
wcurl--curl-options="--progress-bar--http2"example.com/filename.txt
Resume from an interrupted download (if more options are used, this needs to be the last one in the
list):
wcurl--curl-options="--continue-at-"example.com/filename.txtName
wcurl - a simple wrapper around curl to easily download files.
Options
--curl-options,--curl-options=<CURL_OPTIONS>...
Specify extra options to be passed when invoking curl. May be specified more than once.
-o,-O,--output,--output=<PATH>...
Use the provided output path instead of getting it from the URL. If multiple URLs are provided,
all files will have the same name with a number appended to the end (curl >= 7.83.0). If this
option is provided multiple times, only the last value is considered.
--dry-run
Don't actually execute curl, just print what would be invoked.
-V,--version
Print version information.
-h,--help
Print help message.
Reporting Bugs
If you experience any problems with wcurl that you do not experience with curl, submit an issue on
Github:
https://github.com/curl/wcurl
See Also
curl(1) wcurl 2025.02.24 wcurl(1)
Synopsis
wcurl<URL>...wcurl[--curl-options<CURL_OPTIONS>]...[--dry-run][--no-decode-filename][-o|-O|--output<PATH>][--]<URL>...wcurl[--curl-options=<CURL_OPTIONS>]...[--dry-run][--no-decode-filename][--output=<PATH>][--]<URL>...wcurl-V|--versionwcurl-h|--help
Url
Anything which is not a parameter will be considered an URL. wcurl will percent-encode whitespaces and
pass that to curl, which will perform the parsing of the URL.
