Как сделать HTTP запрос в Rust?
Всем привет! Начал изучать Rust и столкнулся с задачей выполнения HTTP-запроса. Нужно отправить GET-запрос к внешнему API и получить JSON-ответ. Пытался использовать стандартную библиотеку, но, как я понял, в ней нет встроенного HTTP-клиента.
Пробовал написать что-то вроде этого:
use std::io::Read;
fn main() {
let mut response = reqwest::blocking::get("https://api.example.com/data").unwrap();
let mut body = String::new();
response.read_to_string(&mut body).unwrap();
println!("{}", body);
}
Но получаю ошибку: error[E0432]: unresolved import 'reqwest'. Видимо, нужно добавить зависимость в Cargo.toml. Как правильно подключить крейт reqwest? Какие альтернативы существуют? Интересует асинхронный вариант (tokio + reqwest) и блокирующий (простой).
Ожидаю получить рабочий пример с обработкой ошибок, чтобы код не паниковал при неудачном запросе. Желательно с разбором JSON через serde_json. Заранее спасибо за помощь!
Ответов пока нет.
Войдите чтобы оставить ответ
Блоги