не удалось найти `blocking` в` reqwest`

Я пытаюсь загрузить текстовый файл с заданного URL-адреса, используя reqwest 0.10.0-alpha.2, который выглядит как подходящий инструмент. У меня есть это в моем файле 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.

Я взял этот фрагмент из документации

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

После ответа @edwardw включить «блокировку» в «reqwest», а затем также необходимо изменить ? на unwrap. Не уверен, но, возможно, ? из более старой версии rust или sth. Но он не компилируется для меня.

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

person Yuchen    schedule 18.11.2019    source источник
comment
Похоже, что reqwest плохо документирован: gitmemory.com/issue/seanmonstar/reqwest/643 / 532880897   -  person num8er    schedule 18.11.2019


Ответы (1)


Это дополнительная функция ящика. Вы должны явно включить его в зависимостях:

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

Это упоминается в reqwest::blocking документации:

Для этого требуется, чтобы была включена дополнительная функция blocking.

person edwardw    schedule 18.11.2019