Rust:
Een webpagina downloaden

Hoe:

Laten we een webpagina downloaden met Rust’s reqwest crate, die een eenvoudige, asynchrone API biedt voor het maken van HTTP-verzoeken.

Voeg eerst reqwest en tokio toe aan je Cargo.toml:

[dependencies]
reqwest = "0.11"
tokio = { versie = "1", features = ["full"] }

Nu, in je Rust-code:

use reqwest;
use tokio;

#[tokio::main]
async fn main() -> Result<(), reqwest::Error> {
    let url = "http://example.com";
    let res = reqwest::get(url).await?;

    let lichaam = res.text().await?;
    println!("Lichaam:\n{}", lichaam);

    Ok(())
}

Een voorbeelduitvoer kan er zo uitzien, hoewel de daadwerkelijke inhoud kan variëren:

Lichaam:
<!doctype html>
<html>
<head>
    <title>Voorbeeld Domein</title>
...
</body>
</html>

Diepere Duik

De reqwest crate is een van de meest eenvoudige manieren om webinhoud te downloaden in Rust. Het is geëvolueerd uit eerdere HTTP-bibliotheken, en biedt zowel synchrone als asynchrone interfaces.

Alternatieven zijn onder andere lager niveau bibliotheken zoals hyper (die reqwest zelf onder de motorkap gebruikt), of het gebruik van curl bindings voor Rust.

Belangrijke implementatiestappen voor het downloaden van een pagina zijn het maken van een HTTP GET-verzoek en het verwerken van de reactie. Asynchroon programmeren met tokio betekent dat je app responsief blijft terwijl de netwerkoperatie wordt voltooid.

Zie Ook: