reqwest 0.10.0-alpha.2 を使用して、指定されたURLからテキストファイルをダウンロードしようとしています。これは適切なツールのようです。私のCargo.tomlファイルにこれがあります:
[package]
name = "..."
version = "0.1.0"
authors = ["Y*** <y***@***.***>"]
edition = "2019"
# See more keys and their definitions at https://doc.Rust-lang.org/cargo/reference/manifest.html
[dependencies]
reqwest = "0.10.0-alpha.2"
依存関係は解決したようで、Cargo.lockファイルを持っています。
私はこのスニペットを the docs から持ち上げました
let body = reqwest::blocking::get("https://www.Rust-lang.org")?
.text()?;
println!("body = {:?}", body);
しかし、私はこのエラーを得ています:
| | let body = reqwest::blocking::get("https://www.Rust-lang.org")?.text()?; | ^^^^^^^^ could not find `blocking` in `reqwest`
どうして?上記のリンクの「これにはオプションのブロック機能を有効にする必要があります」というドキュメントにこの行が表示されます。それだけかもしれません。ただし、Rustでライブラリの「機能」をどのように有効にするかは、私には明らかではありません。
私もこれを試しました(いくつかは暗闇での撮影です):
use reqwest::blocking;
同じエラー:
| | use reqwest::blocking; | ^^^^^^^^^^^^^^^^^ no `blocking` in the root
「reqwest」で「ブロッキング」を有効にするための@edwardwの回答に従い、次に?
からunwrap
へ。わかりませんが、?
は、古いバージョンのRustまたはsthからのものです。しかし、コンパイルできません。
let body = reqwest::blocking::get("https://www.Rust-lang.org")
.unwrap()
.text();
println!("body = {:?}", body);
クレートのオプション機能です。依存関係で明示的に有効にする必要があります。
[dependencies]
reqwest = { version = "0.10.0-alpha.2", features = ["blocking"] }
reqwest::blocking
ドキュメント はそれについて言及しています:
これには、オプションの
blocking
機能を有効にする必要があります。