Rust:
Nedlasting av en nettside
How to: (Hvordan:)
use reqwest;
use std::error::Error;
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
let url = "http://example.com";
let response = reqwest::get(url).await?;
let body = response.text().await?;
println!("Nettsideinnhold: {}", body);
Ok(())
}
Ved kjøring vil dette skrive ut HTML-innholdet til http://example.com
.
Deep Dive (Dykk dypere)
I de gode gamle dager, brukte vi curl
eller wget
fra kommandolinjen, eller HTTP-biblioteker som libcurl
for programmering. I Rust-verdenen, er reqwest
-biblioteket nå populært for å håndtere HTTP-forespørsler, takket være sin asynkrone støtte og enkel bruk.
Alternativene inkluderer hyper
for lavnivå HTTP-operasjoner og surf
som et annet høynivåalternativ. reqwest
er imidlertid favoritten for mange fordi det abstraherer bort mange av de komplekse detaljene ved HTTP-forespørsler.
For å virkelig forstå hvordan nedlasting av nettsider fungerer, bør man ha en forståelse av HTTP-protokollen, TCP/IP og DNS-oppslag.
See Also (Se også)
- reqwest crate dokumentasjon
- Rust’s asynkrone programmeringsguide
- HTTP Made Really Easy - En guide for å forstå HTTP.