75 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # reqwest
 | |
| 
 | |
| [](https://crates.io/crates/reqwest)
 | |
| [](https://docs.rs/reqwest)
 | |
| [](./LICENSE)
 | |
| [](https://github.com/seanmonstar/reqwest/actions?query=workflow%3ACI)
 | |
| 
 | |
| An ergonomic, batteries-included HTTP Client for Rust.
 | |
| 
 | |
| - Plain bodies, JSON, urlencoded, multipart
 | |
| - Customizable redirect policy
 | |
| - HTTP Proxies
 | |
| - HTTPS via system-native TLS (or optionally, rustls)
 | |
| - Cookie Store
 | |
| - [Changelog](CHANGELOG.md)
 | |
| 
 | |
| > *NOTE*: reqwest's [master](https://github.com/seanmonstar/reqwest) branch is currently
 | |
| preparing breaking changes, for most recently released code, look to the
 | |
| [0.9.x](https://github.com/seanmonstar/reqwest/tree/0.9.x) branch.
 | |
| 
 | |
| ## Example
 | |
| 
 | |
| Async:
 | |
| 
 | |
| ```rust,no_run
 | |
| use std::collections::HashMap;
 | |
| 
 | |
| #[tokio::main]
 | |
| async fn main() -> Result<(), Box<dyn std::error::Error>> {
 | |
|     let resp: HashMap<String, String> = reqwest::get("https://httpbin.org/ip")
 | |
|         .await?
 | |
|         .json()
 | |
|         .await?;
 | |
|     println!("{:#?}", resp);
 | |
|     Ok(())
 | |
| }
 | |
| ```
 | |
| 
 | |
| Blocking:
 | |
| 
 | |
| ```rust,no_run
 | |
| use std::collections::HashMap;
 | |
| 
 | |
| fn main() -> Result<(), Box<dyn std::error::Error>> {
 | |
|     let resp: HashMap<String, String> = reqwest::blocking::get("https://httpbin.org/ip")?
 | |
|         .json()?;
 | |
|     println!("{:#?}", resp);
 | |
|     Ok(())
 | |
| }
 | |
| ```
 | |
| 
 | |
| ## Requirements
 | |
| 
 | |
| On Linux:
 | |
| 
 | |
| - OpenSSL 1.0.1, 1.0.2, or 1.1.0 with headers (see https://github.com/sfackler/rust-openssl)
 | |
| 
 | |
| On Windows and macOS:
 | |
| 
 | |
| - Nothing.
 | |
| 
 | |
| Reqwest uses [rust-native-tls](https://github.com/sfackler/rust-native-tls), which will use the operating system TLS framework if available, meaning Windows and macOS. On Linux, it will use OpenSSL 1.1.
 | |
| 
 | |
| 
 | |
| ## License
 | |
| 
 | |
| Licensed under either of
 | |
| 
 | |
| - Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or http://apache.org/licenses/LICENSE-2.0)
 | |
| - MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
 | |
| 
 | |
| ### Contribution
 | |
| 
 | |
| 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.
 |