11个版本 (4个主要版本)
| 4.0.1 | 2024年1月18日 |
|---|---|
| 3.0.0 | 2023年10月31日 |
| 2.0.1 | 2023年6月20日 |
| 1.2.0 | 2023年5月30日 |
| 0.1.2 | 2021年9月7日 |
#178 in HTTP客户端
80KB
1.5K SLoC
Rtv
Rtv是一个简单、依赖性极低的HTTP客户端,它运行在 mio 之上。它支持完全非阻塞的请求,甚至DNS解析也是非阻塞的。您还可以使用它与 async 结合使用,作为比 hyper 等类似工具更轻量级(但功能更少且稳定性较差)的替代品。
您可以选择自己设置 mio 并使用一个 Client 来发送请求,使用您自己的 Poll,或者如果您想使用 async,则可以使用 SimpleClient。然而,后者目前仅在64位Unix系统上受支持。
示例(客户端)
这是这个包提供的主要功能。您可以在docs.rs上找到示例 这里。
示例(SimpleClient)
发起单个请求非常简单。然而,这个客户端不仅提供这项功能!
let mut client = SimpleClient::new()?;
let request = Request::get().host("google.com");
client.send(request).await?;
Mio Httpc
这个包类似于 mio_httpc,然而API更为简洁,在我看来。MioHttpc使得事件处理、超时和错误非常冗长,而此包旨在提供一个非常简单的接口,只需调用一个函数(pump)。但是,Rtv只支持 mio_httpc 部分功能,可能效率不高且稳定性较差。Rtv真的就是一个 简单 的HTTP客户端。
注意
此包早期版本完全不同。我决定重新利用这个名称,因为我不想在我的个人资料或crates.io上留下垃圾。
- 最初
rtv是一个用于执行递归文件遍历的包。 - 然后它是一个用于解决未来的包(完全无用)。
依赖项
~0.7–14MB
~134K SLoC