This question already has an answer here:
How do you enable a Rust “crate feature”?

(1个答案)


1年前关闭。




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

但我收到此错误:



为什么?我确实在上述链接的文档上看到了这一行“这要求启用可选的阻止功能”。可能就是这样。但是,我也不清楚如何在Rust中为库启用“功能”。

我也尝试过这个(在黑暗中拍摄一些):
use reqwest::blocking;

同样的错误:



按照@edwardw的回答在“reqwest”中启用“阻止”,然后还必须将?更改为unwrap。不确定,但?可能来自旧版本的rust或sth。但这对我来说不是编译的。
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确实提到了它:

关于rust - 在 `blocking`中找不到 `reqwest` ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58906965/

10-11 02:54