在 `reqwest` 中找不到 `blocking`

could not find `blocking` in `reqwest`

我正在尝试使用 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`  

为什么?我确实从上面 link 的文档 "This requires the optional blocking feature to be enabled" 中看到了这一行。可能就是这样。但是,我也不清楚如何在 Rust 中为库启用 "feature"。


我也试过这个(有些在黑暗中拍摄):

use reqwest::blocking;

同样的错误:

 |
 | use reqwest::blocking;
 |     ^^^^^^^^^^^^^^^^^ no `blocking` in the root

按照@edwardw 的回答在"reqwest" 中启用"blocking",然后还必须将? 更改为unwrap。不确定,但也许 ? 来自旧版本的 rust 或某物。但它不适合我。

let body = reqwest::blocking::get("https://www.rust-lang.org")
    .unwrap()
    .text();
println!("body = {:?}", body);

这是 crate 的可选功能。您必须在依赖项中明确启用它:

[dependencies]
reqwest = { version = "0.10.0-alpha.2", features = ["blocking"] }

reqwest::blocking documentation确实提到了它:

This requires the optional blocking feature to be enabled.