Выполнение запросов

Выполнение HTTP GET-запроса

reqwest-badge cat-net-badge

В примере разбирается переданный адрес URL и выполняется синхронный HTTP GET запрос с помощью reqwest::get. Затем печатается статус ответа reqwest::Response и его заголовки. Также читается тело HTTP ответа в предварительно выделенную строку String используя read_to_string.

#[macro_use]
extern crate error_chain;
extern crate reqwest;

use std::io::Read;

error_chain! {
    foreign_links {
        Io(std::io::Error);
        HttpRequest(reqwest::Error);
    }
}

fn main() -> Result<()> {
    let mut res = reqwest::get("http://httpbin.org/get")?;
    let mut body = String::new();
    res.read_to_string(&mut body)?;

    println!("Status: {}", res.status());
    println!("Headers:\n{:#?}", res.headers());
    println!("Body:\n{}", body);

    Ok(())
}