一个 C++11 单头文件库,用于构建 HTTP/HTTPS 服务端和客户端,采用阻塞式 socket I/O。
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
在 Cargo.toml 中添加带 json 功能的 reqwest 和 tokio
reqwest = { version = "0.13", features = ["json"] } - 2
在 Cargo.toml 中添加带 full 功能的 tokio
tokio = { version = "1", features = ["full"] } - 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 数据每日更新。
相关项目
一款桌面端 API 客户端,支持 REST、GraphQL、WebSocket、SSE 和 gRPC,基于 Tauri、Rust 与 React 构建。
Hurl 是一个命令行工具,用纯文本格式定义并运行、测试 HTTP 请求。
基于终端的 HTTP 客户端,用可纳入版本管理的 YAML 配置定义并执行 REST 请求。
面向开发者的桌面工具箱,集成快速笔记、JSON 格式化、HTTP 请求、编解码、加密、二维码等常用工具。
开源 API 开发工具,支持 REST、GraphQL、WebSocket 等协议,提供网页、桌面和命令行版本。