98 个版本

0.12.7 2024 年 8 月 19 日
0.12.5 2024 年 6 月 17 日
0.12.2 2024 年 3 月 25 日
0.11.23 2023 年 12 月 18 日
0.1.0 2016 年 11 月 10 日

#2 in HTTP 客户端

Download history 1278035/week @ 2024-05-02 1259440/week @ 2024-05-09 1344059/week @ 2024-05-16 1299836/week @ 2024-05-23 1464241/week @ 2024-05-30 1450532/week @ 2024-06-06 1490678/week @ 2024-06-13 1502809/week @ 2024-06-20 1571611/week @ 2024-06-27 1429982/week @ 2024-07-04 1573315/week @ 2024-07-11 1618293/week @ 2024-07-18 1694120/week @ 2024-07-25 1661268/week @ 2024-08-01 1736839/week @ 2024-08-08 1688378/week @ 2024-08-15

7,093,230 每月下载量
用于 13,469 个包 (9,464 直接)

MIT/Apache

615KB
12K SLoC

reqwest

crates.io Documentation MIT/Apache-2 licensed CI

一个易于使用的 Rust HTTP 客户端。

  • 异步和阻塞 Client
  • 纯文本体、JSON、表单编码、多部分
  • 可定制的重定向策略
  • HTTP 代理
  • 通过系统原生 TLS (或可选的,rustls) 进行 HTTPS
  • Cookie 存储
  • WASM

示例

此异步示例使用 Tokio 并启用了一些可选功能,因此您的 Cargo.toml 可能看起来像这样

[dependencies]
reqwest = { version = "0.12", 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(())
}

商业支持

对于私人建议、支持、审查、访问维护者等,请联系 商业支持

要求

在 Linux 上

  • OpenSSL 与头文件。有关支持的版本和更多详细信息,请参阅 https://docs.rs/openssl。或者您可以通过启用 native-tls-vendored 功能来编译 OpenSSL 的副本。

在 Windows 和 macOS 上

Reqwest 使用 rust-native-tls,如果可用,它将使用操作系统的 TLS 框架,这意味着 Windows 和 macOS。在 Linux 上,它将使用可用的 OpenSSL 或如果找不到则无法构建。

许可

根据以下之一许可

贡献

除非您明确说明,否则您有意提交以包含在您的工作中的任何贡献,根据 Apache-2.0 许可证定义,应如上所述双许可,不附加任何其他条款或条件。

赞助商

通过成为 赞助商 支持此项目。

依赖关系

~2–22MB
~422K SLoC