-2

我正在学习 Rust,并且一直在使用这个示例来执行 HTTP GET 请求,然后显示数据:

extern crate reqwest;
use std::io::Read;

fn run() -> 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(())
}

我无法理解变量body实际上是如何得到正确数据的。对于标题和状态,我可以看到相关的功能,但对于它仅read_to_string用于整个数据的正文数据?

4

1 回答 1

1

res对象有一个read_to_string()方法将响应存储到String您传入的对象中

res.read_to_string(&mut body);

编辑:从我的评论中导入:

reqwest::Response 0.6.2 文档说明Readfor Response

阅读响应的正文

当前版本的文档中似乎缺少某种方式。

于 2019-08-14T10:06:36.400 回答