传递给 Reqwest 的 Result::read_to_string 的变量从哪里获取数据?



我正在学习 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整个数据?

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

res.read_to_string(&mut body);

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

reqwest::响应 0.6.2 文档状态 对于ResponseRead

阅读响应正文

当前版本的文档中似乎缺少它。

最新更新