Skip to content

curl/wcurl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wcurl logo

wcurl(1)

wcurl

  • a simple wrapper around curl to easily download files.

Synopsis

wcurl [--curl-options <CURL_OPTIONS>]... [--dry-run] [--] <URL>...
wcurl [--curl-options=<CURL_OPTIONS>]... [--dry-run] [--] <URL>...
wcurl -V|--version
wcurl -h|--help

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:
    • 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.

Options

  • --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.

Url

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.

Examples

  • 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

Running the testsuite

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

Authors

Samuel Henrique <[email protected]>
Sergio Durigan Junior <[email protected]>
Ryan Carsten Schmidt <[email protected]>
Ben Zanin

Reporting Bugs

If you experience any problems with wcurl that you do not experience with curl, submit an issue here.

Copyright

wcurl is licensed under the curl license

See Also

curl(1)