wcurl
- a simple wrapper around curl to easily download files.
wcurl [--curl-options <CURL_OPTIONS>]... [--dry-run] [--] <URL>...
wcurl [--curl-options=<CURL_OPTIONS>]... [--dry-run] [--] <URL>...
wcurl -V|--version
wcurl -h|--help
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:
- 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;
- Disable curl's URL globbing parser so
{}
and[]
characters in URLs are not treated specially.
-
--curl-options, curl-options=<CURL_OPTIONS>
...Specify extra options to be passed when invoking curl. May be specified more than once.
-
--dry-run
Don't actually execute curl, just print what would be invoked.
-
-V, --version
Print version information.
-
-h, --help
Print help message.
Anything which is not a parameter will be considered an URL. wcurl will encode whitespaces and pass that to curl, which will perform the parsing of the URL.
-
Download a single file:
wcurl example.com/filename.txt
-
Download two files in parallel:
wcurl example.com/filename1.txt example.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.txt
If you would like to run the tests, you will first need to install the
shunit2
package. On Debian-like and Fedora-like systems, the
package is called shunit2
.
After that, you can run the testsuite by simply invoking the test script:
./tests/tests.sh
Samuel Henrique <[email protected]>
Sergio Durigan Junior <[email protected]>
Ryan Carsten Schmidt <[email protected]>
Ben Zanin
If you experience any problems with wcurl that you do not experience with curl, submit an issue here.
wcurl is licensed under the curl license
curl(1)