• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.github/H03-May-2022-326275

examples/H03-May-2022-18795

src/H03-May-2022-14,9919,760

tests/H03-May-2022-2,5262,040

.cargo-checksum.jsonH A D03-May-202289 11

.cargo_vcs_info.jsonH A D01-Jan-197094 66

.gitignoreH A D29-Nov-197324 43

CHANGELOG.mdH A D29-Nov-197324.8 KiB657446

Cargo.lockH A D01-Jan-197050.7 KiB2,0641,846

Cargo.tomlH A D01-Jan-19708.3 KiB302241

Cargo.toml.orig-cargoH A D29-Nov-19736.3 KiB235185

LICENSE-APACHEH A D29-Nov-197310.6 KiB202169

LICENSE-MITH A D29-Nov-19731 KiB2116

README.mdH A D29-Nov-19732.5 KiB9365

README.md

1# reqwest
2
3[![crates.io](https://img.shields.io/crates/v/reqwest.svg)](https://crates.io/crates/reqwest)
4[![Documentation](https://docs.rs/reqwest/badge.svg)](https://docs.rs/reqwest)
5[![MIT/Apache-2 licensed](https://img.shields.io/crates/l/reqwest.svg)](./LICENSE-APACHE)
6[![CI](https://github.com/seanmonstar/reqwest/workflows/CI/badge.svg)](https://github.com/seanmonstar/reqwest/actions?query=workflow%3ACI)
7
8An ergonomic, batteries-included HTTP Client for Rust.
9
10- Plain bodies, JSON, urlencoded, multipart
11- Customizable redirect policy
12- HTTP Proxies
13- HTTPS via system-native TLS (or optionally, rustls)
14- Cookie Store
15- WASM
16- [Changelog](CHANGELOG.md)
17
18
19## Example
20
21This asynchronous example uses [Tokio](https://tokio.rs) and enables some
22optional features, so your `Cargo.toml` could look like this:
23
24```toml
25[dependencies]
26reqwest = { version = "0.11", features = ["json"] }
27tokio = { version = "1", features = ["full"] }
28```
29
30And then the code:
31
32```rust,no_run
33use std::collections::HashMap;
34
35#[tokio::main]
36async fn main() -> Result<(), Box<dyn std::error::Error>> {
37    let resp = reqwest::get("https://httpbin.org/ip")
38        .await?
39        .json::<HashMap<String, String>>()
40        .await?;
41    println!("{:#?}", resp);
42    Ok(())
43}
44```
45
46## Blocking Client
47
48There is an optional "blocking" client API that can be enabled:
49
50```toml
51[dependencies]
52reqwest = { version = "0.11", features = ["blocking", "json"] }
53```
54
55```rust,no_run
56use std::collections::HashMap;
57
58fn main() -> Result<(), Box<dyn std::error::Error>> {
59    let resp = reqwest::blocking::get("https://httpbin.org/ip")?
60        .json::<HashMap<String, String>>()?;
61    println!("{:#?}", resp);
62    Ok(())
63}
64```
65
66## Requirements
67
68On Linux:
69
70- OpenSSL 1.0.1, 1.0.2, 1.1.0, or 1.1.1 with headers (see https://github.com/sfackler/rust-openssl)
71
72On Windows and macOS:
73
74- Nothing.
75
76Reqwest uses [rust-native-tls](https://github.com/sfackler/rust-native-tls),
77which will use the operating system TLS framework if available, meaning Windows
78and macOS. On Linux, it will use OpenSSL 1.1.
79
80
81## License
82
83Licensed under either of
84
85- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://apache.org/licenses/LICENSE-2.0)
86- MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
87
88### Contribution
89
90Unless you explicitly state otherwise, any contribution intentionally submitted
91for inclusion in the work by you, as defined in the Apache-2.0 license, shall
92be dual licensed as above, without any additional terms or conditions.
93