我正在学习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
?
答案 0 :(得分:1)
res
对象具有一个read_to_string()
方法,该方法将响应存储到您将其传递到的String
中
res.read_to_string(&mut body);
编辑:从我的评论中导入
reqwest::Response 0.6.2 documentation对Read
的{{1}}状态:
阅读回复的正文
它似乎在当前版本的文档中丢失了。