rust reqwest实现下载
时间: 2024-04-12 14:29:53 浏览: 13
你可以使用 Rust 中的 reqwest 库来实现文件下载。以下是一个简单的示例代码:
```rust
use std::fs::File;
use std::io::copy;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// 创建一个 reqwest 的客户端
let client = reqwest::Client::new();
// 发起 GET 请求
let response = client.get("https://example.com/file.txt").send().await?;
// 检查响应状态码
if response.status().is_success() {
// 打开一个文件来保存下载的内容
let mut file = File::create("file.txt")?;
// 将响应体写入文件
let content = response.bytes().await?;
copy(&mut content.as_ref(), &mut file)?;
println!("文件下载成功!");
} else {
println!("无法下载文件: {:?}", response.status());
}
Ok(())
}
```
上述代码使用了 `reqwest::Client` 来创建一个客户端,然后使用 `get()` 方法发送 GET 请求。如果响应状态码为成功(2xx),则将响应体保存到文件中。
请确保在 `Cargo.toml` 中添加了 `reqwest` 和 `tokio` 的依赖:
```toml
[dependencies]
reqwest = "0.11"
tokio = { version = "1", features = ["full"] }
```
这是一个简单的示例,你可以根据自己的需求进行修改和扩展。希望对你有所帮助!