Invio richieste HTTP in Rust con reqwest

Mattepuffo's logo
Invio richieste HTTP in Rust con reqwest

Invio richieste HTTP in Rust con reqwest

Per l'invio di richieste HTTP in Rust abbiamo a disposizione la libreria reqwest, praticamente quasi uno standard al momento.

Per usarla aggiungete queste dipendenze al Cargo.toml:

[dependencies]
reqwest = { version = "0.10", features = ["json"] }
tokio = { version = "0.2", features = ["full"] }

Qui sotto un esempio di codice in cui facciamo prima una semplice richiesta GET, e poi inviamo dei dati in POST (e leggiamo la risposta):

use std::collections::HashMap;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    println!("RICHIESTA GET");
    let resp_get = reqwest::get("https://httpbin.org/ip")
        .await?
        .json::<HashMap<String, String>>()
        .await?;
    println!("{:#?}", resp_get);

    println!("INVIO POST");
    let mut map = HashMap::new();
    map.insert("lang", "rust");
    map.insert("body", "json");

    let client = reqwest::Client::new();
    let resp_post = client.post("http://httpbin.org/post")
        .json(&map)
        .send()
        .await?;
    println!("{:#?}", resp_post);

    Ok(())
}

Enjoy!


Share this Post

Commentami!