2 个版本
0.1.1 | 2023 年 8 月 18 日 |
---|---|
0.1.0 | 2022 年 2 月 27 日 |
#374 in HTTP 客户端
18KB
232 行
ml-downloader
简单阻塞式下载器,具有以下特性:
- 自定义延迟的重试
- 成功下载之间的自定义间隔,用于限速
- 哈希检查(可选)
- 基于 reqwest
示例
简单用法
使用默认配置创建 Downloader
并下载一个文件。
use ml_downloader::Downloader;
let mut downloader = Downloader::new()?;
let bytes = downloader.get("https://example.com/").send()?;
# Ok::<(), ml_downloader::Error>(())
自定义配置
使用以下配置创建 Downloader
:
"foobar/1.0"
作为USER_AGENT
1.0 - 1.1
秒的下载成功间隔- 下载失败后重试两次
2.0 - 2.2
秒的初始失败延迟5.0 - 5.5
秒的第二次失败延迟
use ml_downloader::Downloader;
let mut downloader = Downloader::builder()
.reqwest(|cb| cb.user_agent("foobar/1.0"))
.interval(1.0, 1.1)
.retry_delays(&[(2.0, 2.2), (5.0, 5.5)])
.build()?;
# Ok::<(), ml_downloader::Error>(())
依赖
~3–17MB
~219K SLoC