📚
Rust の tokio, reqwest を利用してインターネットからファイルをダウンロードするサンプル
コードを読むとわかる。
非同期APIを利用しているので、適宜await
してください。
エラー周りは便利なのでanyhow
を利用。
use anyhow::Result;
use std::fs::File;
use std::io;
#[tokio::main]
async fn main() -> Result<()> {
let url = "https://pbs.twimg.com/profile_images/1058802892415455233/_Fat5vje_400x400.jpg";
let filename = url.split("/").last().unwrap();
let response: reqwest::Response = reqwest::get(url).await?;
let bytes = response.bytes().await?;
let mut out = File::create(filename)?;
io::copy(&mut bytes.as_ref(), &mut out)?;
Ok(())
}
Discussion