¿Cómo hacer una solicitud HTTP en Rust? ¿No hay una función incorporada?
¡Hola! Acabo de empezar a aprender Rust después de Python y JavaScript, y me encontré con un problema. En Python estoy acostumbrado a escribir `requests.get(url)` y todo funciona. En Rust esperaba encontrar algo similar en la biblioteca estándar, pero aparentemente no está allí.
Intenté escribir una simple solicitud GET a una API pública usando solo la biblioteca estándar, pero no funcionó. Aquí está mi código, que obviamente no 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);
}
```
El error dice algo sobre el protocolo y la falta de soporte para HTTP. Entiendo que Rust es un lenguaje de sistema, pero ¿no hay una forma simple de hacer una solicitud sin agregar un montón de dependencias? Necesito obtener JSON del servidor y parsearlo.
He oído hablar de los crates `reqwest` y `ureq`, pero no estoy seguro de cuál elegir.