2个版本

0.1.1 2024年4月24日
0.1.0 2024年4月23日

251HTTP客户端

每月下载 40

MIT 协议

17KB
192

检索器

一个用于从网络上下载文件的Rust库。您可以异步地下载多个文件。该库基于reqwesttokio构建。它还利用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