Rust:
Hämta en webbsida

Hur man gör:

use reqwest; // Lägg till `reqwest` i dina dependencies i Cargo.toml

#[tokio::main]
async fn main() -> Result<(), reqwest::Error> {
    // Adress till webbsidan du vill ladda ner
    let url = "http://example.com";

    // Skicka en GET-förfrågan och vänta på svaret
    let response = reqwest::get(url).await?;

    // Skriv ut rådata som ett strängresultat
    let body = response.text().await?;
    println!("Webbsidans innehåll:\n{}", body);

    Ok(())
}

Utfall: Webbsidans HTML-innehåll visas i terminalen.

Fördjupning:

Historiskt har webbskrapning och nedladdning av webbsidor varit en utmaning då det krävde hantering av lågnivå nätverksanslutningar och HTTP-protokollet. Nu för tiden finns bibliotek som reqwest som förenklar denna process genom att abstrahera komplexa nätverksoperationer.

Det finns andra bibliotek som curl och hyper, vilka kan lämpa sig bättre för vissa scenarion, men reqwest är känt för att vara användarvänligt för de flesta tillämpningar.

I detalj handlar att ladda ner en webbsida om att skicka en HTTP GET-begäran till servern som hostar sidan, ta emot svaret, som ofta är HTML-kod, och sedan använda den datan som behövs. Asynkron kod i Rust med bibliotek som tokio är nyckeln för att hantera flera begäranden effektivt.

Se även: