2个版本
0.1.1 | 2024年4月24日 |
---|---|
0.1.0 | 2024年4月23日 |
251 在 HTTP客户端
每月下载 40 次
17KB
192 行
检索器
一个用于从网络上下载文件的Rust库。您可以异步地下载多个文件。该库基于reqwest和tokio构建。它还利用indicatif来显示进度条。
示例
在src/lib.rs中有多个示例
单个文件下载
use reqwest::Client;
use file_retriever::{self, RetrieverBuilder};
use tokio::fs::OpenOptions;
#[tokio::main]
async fn main() -> Result<()> {
let retriever = RetrieverBuilder::new()
.show_progress(false)
.workers(1)
.build();
let request = Client::new()
.get("https://example.com")
.build()
.unwrap();
let output_file = OpenOptions::new()
.create(true)
.write(true)
.truncate(true)
.open("/tmp/test")
.await
.unwrap();
let _ = retriever.download_file(request, output_file).await;
}
多个文件下载
可以在multi_download_example.rs中看到多个文件下载的示例
您可以使用以下命令运行示例
cargo run --example multi_download_example -- -i ./examples/in/ -o ./examples/out/
测试
您可以使用以下命令执行测试
cargo test --lib
这将从模拟服务器检索文件到 /tmp/
目录
依赖项
~7–18MB
~252K SLoC