Rust:
Baixando uma página da web
Como fazer:
// Adicione a crate reqwest ao seu Cargo.toml
// [dependencies]
// reqwest = "0.11"
use reqwest;
#[tokio::main]
async fn main() -> Result<(), reqwest::Error> {
let url = "http://example.com";
let res = reqwest::get(url).await?;
println!("Status: {}", res.status());
println!("Headers:\n{:#?}", res.headers());
let body = res.text().await?;
println!("Body:\n{}", body);
Ok(())
}Saída de exemplo:
Status: 200 OK
Headers:
{
"content-type": "text/html; charset=UTF-8",
...
}
Body:
<!doctype html>
...Aprofundando
Baixar páginas da web é fundamental desde que a internet entrou em uso. No Rust, a crate reqwest se destaca por oferecer uma interface simples e segura. Há alternativas, como hyper (mais baixo nível) e curl (envolve ligação com C), mas reqwest é a escolha amigável. Internamente, reqwest usa tokio para assincronia e hyper para HTTP, mostrando como a comunidade Rust constrói abstrações poderosas sobre blocos de construção sólidos.
Veja também:
- Documentação oficial
reqwest: docs.rs/reqwest - Guia do usuário
tokio: tokio.rs - Livro Oficial de Rust: doc.rust-lang.org/book/