Rust:
Téléchargement d'une page web
How to:
On utilise reqwest, une crate Rust populaire pour les requêtes HTTP.
// Ajoutez d'abord `reqwest` et `tokio` à votre Cargo.toml
use reqwest;
#[tokio::main]
async fn main() -> Result<(), reqwest::Error> {
let url = "http://example.com";
let response = reqwest::get(url).await?;
let contents = response.text().await?;
println!("Le contenu de la page : {}", contents);
Ok(())
}Sortie (extrait) :
Le contenu de la page : <!doctype html> ...Deep Dive
Historiquement, télécharger une page web était un processus plus verbeux en Rust, souvent réalisé avec hyper, une autre crate HTTP. reqwest simplifie ça en encapsulant hyper et d’autres dépendances comme tokio pour l’asynchronisme.
Alternativement, curl, wget, ou httpie pourraient être utilisés en ligne de commande. Mais en Rust, reqwest offre un contrôle programmable et une intégration facile dans le code existant.
Concernant l’implémentation, reqwest utilise async/await de Rust pour traiter les requêtes en non-blocant, ce qui est essentiel pour la performance et l’efficacité lors du traitement simultané de multiples téléchargements.
See Also
- Documentation
reqwest: https://docs.rs/reqwest/ - Tutoriel
tokiopour le traitement asynchrone: https://tokio.rs/tokio/tutorial - Comparaison des crates pour les requêtes HTTP: https://www.arewewebyet.org/topics/http/