Repolode
seanmonstar

seanmonstar/reqwest

一个易用的 Rust HTTP 客户端,提供异步与阻塞两种 API,支持 JSON、multipart、代理和 Cookie。

Star
11,902
Fork
1,439
未关闭 Issue
487
最近提交
19天前

这是什么?

reqwest 是一个 Rust 语言的 HTTP 客户端库,同时提供异步和阻塞两种客户端,既可以用在基于 Tokio 的异步程序中,也适合简单的同步代码。请求体支持普通字节、JSON、urlencoded 表单和 multipart 上传,响应也可以直接解码为类型化的结构。

库内置可自定义的重定向策略、HTTP 代理支持和 Cookie 存储。HTTPS 默认使用 rustls;启用 native-tls 特性后,Windows 和 macOS 使用系统 TLS,Linux 使用 OpenSSL,也可以选择编译内置的 OpenSSL。该库还支持编译为 WASM。

核心功能

  • 01提供异步和阻塞两种客户端
  • 02支持 JSON、urlencoded 和 multipart 请求体
  • 03可自定义重定向策略
  • 04支持 HTTP 代理
  • 05通过 rustls 或系统原生 TLS 提供 HTTPS
  • 06内置 Cookie 存储,并支持 WASM

适用场景

  • 在 Rust 服务或命令行工具中调用 REST 或 JSON 接口
  • 通过 multipart 表单请求上传文件
  • 在不使用异步运行时的小工具中发起同步 HTTP 请求

快速上手

  1. 1

    在 Cargo.toml 中添加带 json 功能的 reqwest 和 tokio

    reqwest = { version = "0.13", features = ["json"] }
  2. 2

    在 Cargo.toml 中添加带 full 功能的 tokio

    tokio = { version = "1", features = ["full"] }
  3. 3

    将 README 中的示例代码写入 src/main.rs 并运行

使用前须知

  • 在 Linux 上使用原生 TLS 需要已安装 OpenSSL,或启用 vendored 功能。

收录于专题

标签

常见问题

reqwest 是什么?
一个易用的 Rust HTTP 客户端,提供异步与阻塞两种 API,支持 JSON、multipart、代理和 Cookie。 reqwest 是一个 Rust 语言的 HTTP 客户端库,同时提供异步和阻塞两种客户端,既可以用在基于 Tokio 的异步程序中,也适合简单的同步代码。请求体支持普通字节、JSON、urlencoded 表单和 multipart 上传,响应也可以直接解码为类型化的结构。
reqwest 可以免费使用吗?用的什么许可证?
reqwest 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
reqwest 还在维护吗?
活跃维护中。reqwest 最近一次提交是在 2026年10月19日。
reqwest 适合用来做什么?
在 Rust 服务或命令行工具中调用 REST 或 JSON 接口 通过 multipart 表单请求上传文件 在不使用异步运行时的小工具中发起同步 HTTP 请求
reqwest 怎么安装和运行?
在 Cargo.toml 中添加带 json 功能的 reqwest 和 tokio: reqwest = { version = "0.13", features = ["json"] } 在 Cargo.toml 中添加带 full 功能的 tokio: tokio = { version = "1", features = ["full"] } 将 README 中的示例代码写入 src/main.rs 并运行
在哪里获取 reqwest?
源代码和安装说明在 GitHub 上:https://github.com/seanmonstar/reqwest

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目