Rust 如何下载网站';将内容转换为字符串?

Rust 如何下载网站';将内容转换为字符串?,rust,Rust,我只想下载一个网站并将其内容放入字符串中 与C#中的操作类似: Rust在标准库中没有HTTP功能,因此您可能希望使用另一个板条箱(库)为您处理HTTP内容。有几种不同的板条箱用于此目的 :“更高级别的HTTP客户端库” let body=reqwest::get(“http://url.com)文本()?; :“最小HTTP请求库” let body=ureq::get(“http://url.com“”。将()调用为_string()? :“实用的HTTP客户端,使用起来很有趣。” l

我只想下载一个网站并将其内容放入
字符串中

与C#中的操作类似:


Rust在标准库中没有HTTP功能,因此您可能希望使用另一个板条箱(库)为您处理HTTP内容。有几种不同的板条箱用于此目的


:“更高级别的HTTP客户端库”
let body=reqwest::get(“http://url.com)文本()?;
:“最小HTTP请求库”
let body=ureq::get(“http://url.com“”。将()调用为_string()?
:“实用的HTTP客户端,使用起来很有趣。”
let mut response=isahc::get(“https://example.org")?;
让body=response.text()?;
:“信任libcurl的绑定以进行HTTP请求”
使用curl::easy::easy;
//首先,将所有内容写入“Vec”`
让mut data=Vec::new();
让mut handle=Easy::new();
handle.url(“http://url.com)展开();
{
让mut transfer=handle.transfer();
transfer.write|u函数(|新|u数据|{
数据。从_切片扩展_(新的_数据);
Ok(新的_data.len())
}).unwrap();
transfer.perform().unwrap();
}
//将其转换为`字符串`
让body=String::from_utf8(数据)。expect(“body不是有效的utf8!”);
? Hyper是一个非常流行的HTTP库,但它的级别相当低。这使得它通常很难/冗长地用于小型脚本。但是,如果您想编写HTTP服务器,Hyper-sure是一个不错的选择(这就是为什么大多数Rust Web框架都使用Hyper)

还有很多!
我无法在此答案中列出所有可用的库。因此,请随时搜索clarets.io以查找更多可以帮助您的板条箱。

嗨,Laz,欢迎使用StackOverflow!既然没有一位投反对票的人发表评论,让我解释一下投反对票的原因。最重要的是,你的问题听起来好像你甚至没有谷歌或做任何其他事情来找到答案自己。这里的人不喜欢这样。此外,有些人可能会认为您需要一个库推荐,因为他们知道Rust的标准库中没有HTTP内容。就我个人而言,我至少不同意票数相近的观点。我仍然认为这个问题值得回答。任何时候都可以,祝你玩得愉快@卢卡斯·卡尔伯托德是可以理解的。我道歉。
WebClient c = new WebClient();
string ex = c.DownloadString("http://url.com");
use curl::easy::Easy;

// First write everything into a `Vec<u8>`
let mut data = Vec::new();
let mut handle = Easy::new();
handle.url("http://url.com").unwrap();
{
    let mut transfer = handle.transfer();
    transfer.write_function(|new_data| {
        data.extend_from_slice(new_data);
        Ok(new_data.len())
    }).unwrap();
    transfer.perform().unwrap();
}

// Convert it to `String`
let body = String::from_utf8(data).expect("body is not valid UTF8!");