Como fazer uma requisição HTTP em Rust? Não tem função embutida?
Olá! Comecei a estudar Rust recentemente, depois de Python e JavaScript, e me deparei com um problema. Em Python, estou acostumado a escrever `requests.get(url)` e tudo funciona. Em Rust, esperava encontrar algo similar na biblioteca padrão, mas aparentemente não tem.
Tentei escrever uma requisição GET simples para uma API pública usando apenas a biblioteca padrão, mas não deu certo. Aqui está meu código, que obviamente não compila:
```rust
use std::net::TcpStream;
use std::io::Read;
fn main() {
let mut response = String::new();
let mut stream = TcpStream::connect("http://api.example.com/data").unwrap();
stream.read_to_string(&mut response).unwrap();
println!("{}", response);
}
```
O erro fala algo sobre protocolo e falta de suporte a HTTP. Entendo que Rust é uma linguagem de sistema, mas não existe uma maneira simples de fazer uma requisição sem adicionar toneladas de dependências? Preciso obter JSON de um servidor e parseá-lo.
Ouvi falar sobre os crates `reqwest` e `ureq`, mas não tenho certeza de qual escolher.