我需要从某个网页下载 HTML 代码。完成这项任务的最佳方法是什么?据我所知,现在很少有适用于 Rust 的 Web 框架,而 hyper 是大多数人使用的框架吗?但是在搜索它的文档后,我找不到方法。我得到的最接近的是这个
extern crate hyper;
use hyper::Client;
fn main() {
let client = Client::new();
let res = client.get("http://www.bloomberg.com/")
.send()
.unwrap();
println!("{:?}", res);
}
Run Code Online (Sandbox Code Playgroud)
但它返回Response,它似乎不包含来自 HTML 正文的任何代码。
注意:这个答案已经过时了!
我没有时间在每个超级版本中更新它。但是请参阅我对一个非常相关的问题的回答:如何将网站的内容下载到字符串中?
它有点隐藏:该Response类型实现了 trait Read。的一种方法Read是read_to_string将所有内容读入 a String。这是获得身体的简单方法。
extern crate hyper;
use hyper::Client;
use std::io::Read;
fn main() {
let client = Client::new();
let mut res = client.get("http://www.bloomberg.com/")
.send()
.unwrap();
let mut body = String::new();
res.read_to_string(&mut body).expect("failed to read into string");
println!("{}", body);
}
Run Code Online (Sandbox Code Playgroud)
目前 Rustdoc(Rust 的 HTML 文档)有点误导,因为 Rust 初学者认为 trait 实现没有添加任何重要的功能。这不是真的,所以最好注意一下。但是,超级文档可能会更好......
| 归档时间: |
|
| 查看次数: |
1024 次 |
| 最近记录: |