6个版本
0.11.16 | 2022年12月27日 |
---|---|
0.11.15 | 2022年10月9日 |
0.11.0 | 2021年1月29日 |
#218 in HTTP客户端
每月 799次下载
用于 10 个crate (6 直接使用)
510KB
10K SLoC
reqwest
一个舒适,内置电池的Rust HTTP客户端。
- 纯文本主体、JSON、表单编码、多部分
- 可定制重定向策略
- HTTP代理
- 通过系统原生TLS(或可选的,rustls)进行HTTPS
- Cookie存储
- WASM
- 变更日志
示例
此异步示例使用Tokio并启用了一些可选功能,所以你的Cargo.toml
可能看起来像这样
[dependencies]
reqwest = { version = "0.11", features = ["json"] }
tokio = { version = "1", features = ["full"] }
然后是代码
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(())
}
阻塞客户端
有一个可选的"阻塞"客户端API可以启用
[dependencies]
reqwest = { version = "0.11", features = ["blocking", "json"] }
use std::collections::HashMap;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let resp = reqwest::blocking::get("https://httpbin.org/ip")?
.json::<HashMap<String, String>>()?;
println!("{:#?}", resp);
Ok(())
}
要求
在Linux上
- OpenSSL 1.0.1、1.0.2、1.1.0或1.1.1,带有头文件(见https://github.com/sfackler/rust-openssl)
在Windows和macOS上
- 无。
Reqwest使用rust-native-tls,如果可用,将使用操作系统TLS框架,即Windows和macOS。在Linux上,它将使用OpenSSL 1.1。
许可
许可为以下之一
- Apache许可证版本2.0 (LICENSE-APACHE 或 http://apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
贡献
除非您明确声明,否则您提交的任何有意包含在本作品中的贡献,根据Apache-2.0许可证定义,应按上述方式双许可,不附加任何额外条款或条件。
依赖关系
~2–21MB
~399K SLoC