README.md
An ergonomic, batteries-included HTTP Client for Rust.
ClientsThis asynchronous example uses Tokio and enables some
optional features, so your Cargo.toml could look like this:
[dependencies]
reqwest = { version = "0.13", features = ["json"] }
tokio = { version = "1", features = ["full"] }
And then the code:
use std::collections::HashMap;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let resp = reqwest::get("https://httpbin.org/ip")
.await?
.json::<HashMap<String, String>>()
.await?;
println!("{resp:#?}");
Ok(())
}
For private advice, support, reviews, access to the maintainer, and the like, reach out for commercial support.
By default, Reqwest uses rustls, but when the native-tls feature is enabled
it will use the operating system TLS framework if available, meaning Windows and macOS.
On Linux, it will use the available OpenSSL (see https://docs.rs/openssl for supported versions and more details)
or fail to build if not found. Alternatively you can enable the native-tls-vendored feature to compile a copy of OpenSSL.
Licensed under either of
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Support this project by becoming a sponsor.