Inviare una richiesta http

Rust:
Inviare una richiesta http

How to:

Installiamo reqwest, una libreria HTTP di Rust. Aggiungi al tuo Cargo.toml:

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

Ecco un esempio semplice per effettuare una richiesta GET:

use reqwest;
use tokio;

#[tokio::main]
async fn main() -> Result<(), reqwest::Error> {
    let response = reqwest::get("https://www.rust-lang.org")
        .await?
        .text()
        .await?;
    
    println!("Risposta del corpo: {}", response);
    Ok(())
}

Output:

Risposta del corpo: <!DOCTYPE html>...

Deep Dive

Rust, con la sua forte enfasi sulla sicurezza e la concorrenza, rende il trattamento delle richieste HTTP solido e affidabile. reqwest si basa su hyper, un client HTTP più basso livello. In alternativa, si potrebbe usare hyper direttamente per maggiore controllo.

Altri linguaggi usano librerie simili, come requests in Python, ma Rust si distingue per il suo sistema di tipo e gestione dell’errore, che assicura che gestisci le risposte e gli errori correttamente.

Storicamente, Rust ha guadagnato popolarità per sistemi affidabili e attività di rete performanti. Le alternative come curl (tramite curl-rust) esistono, ma reqwest è ampiamente adottato per la sua interfaccia asincrona e facile adoperabilità.

See Also