Rust:
Verkkosivun lataaminen

How to: (Kuinka tehdä:)

Rustissa web-sivun lataaminen onnistuu usealla tavalla, mutta tässä käytämme reqwest-kirjastoa, joka on helppokäyttöinen ja tehokas.

// Lisää ensin Cargo.toml-tiedostoosi riippuvuudeksi reqwest
reqwest = "0.11"

// Sitten kirjoita koodisi:
use reqwest;

#[tokio::main]
async fn main() -> Result<(), reqwest::Error> {
    let body = reqwest::get("https://www.rust-lang.org/")
        .await?
        .text()
        .await?;

    println!("Web-sivun sisältö:\n{}", body);
    Ok(())
}

Esimerkin tulosteena on ladatun sivun HTML-koodi konsolissa.

Deep Dive (Syväsykellus):

Historiallisesti tiedon lataamiseen verkosta käytettiin Rustissa hyper-kirjastoa, joka on edelleen reqwest-kirjaston ytimessä. Vaihtoehtoja reqwestille ovat curl ja hyper, mutta näiden käyttö on monimutkaisempaa. reqwest käyttää sisäisesti asynkronista koodia hyödyntääkseen Rustin async-odotustekniikoita maksimaalisen suorituskyvyn saavuttamiseksi. Kirjasto hoitaa myös monet HTTP-protokollan nitty-grittyt, kuten yhteydenhallinnan ja virheenkäsittelyn.

See Also (Katso myös):