ml-downloader
Simple blocking downloader, featuring:
- retries with custom delays
- custom delay or interval between successful downloads for rate limiting
- hash check (optional)
- based on reqwest
Examples
Simple usage
Create Downloader with default configuration and then download one file.
use ml_downloader::Downloader;
let mut downloader = Downloader::new()?;
let bytes = downloader.get("https://example.com/").send()?;
# Ok::<(), ml_downloader::Error>(())
Custom configuration
Create Downloader with
"foobar/1.0"asUSER_AGENT1.0 - 1.1seconds interval between successful downloads- two retries after failed download
2.0 - 2.2seconds delay after initial failure5.0 - 5.5seconds delay after 2nd failure
use Downloader;
let mut downloader = builder
.reqwest
.interval
.retry_delays
.build?;
# Ok::