1个不稳定版本
0.1.0 | 2023年1月20日 |
---|
#365 在 HTTP客户端
用于 2 crate
375KB
6K SLoC
ratmom
这是ratmom,一个有意义的基于libcurl的Rust http客户端。
是isahc的分支。
与isahc的区别(待办事项)
- 不再有同步API
- 去他的http crate
- url crate用于处理URL,就像其他地方一样
- ratcurl,我们使用的curl crate的分支
- curl-impersonate支持
不变的关键功能
- 完全支持HTTP/1.1和HTTP/2。
- 可配置的请求超时、重定向策略、Unix套接字以及许多其他设置。
- 一个与运行时无关的异步API,支持async/await。
- 完全异步的核心,具有请求和响应体的增量读取和写入以及连接复用。
- 会话和cookie持久化。
- 自动在丢弃时取消请求。
文档
请查阅文档以了解ratmom能做什么以及如何使用它。为了入门,这里有一个非常简单、完整的示例,该示例从https://example.org输出响应体
use ratmom::prelude::*;
fn main() -> Result<(), ratmom::Error> {
// Send a GET request and wait for the response headers.
// Must be `mut` so we can read the response body.
let mut response = ratmom::get("https://example.org")?;
// Print some basic info about the response to standard output.
println!("Status: {}", response.status());
println!("Headers: {:#?}", response.headers());
// Read the response body as text into a string and print it.
print!("{}", response.text()?);
Ok(())
}
点击这里获取最新版本的文档。
获取帮助
需要ratmom相关的一些帮助?在我们的问题页面上提问,我们将尽力回答您的问题!
安装
通过将以下内容添加到您的Cargo.toml
文件中安装
[dependencies]
ratmom = "0.1"
或者简单
cargo add ratmom
许可协议
本项目的源代码和文档遵循MIT许可协议。有关详细信息,请参阅LICENSE文件。
依赖项
~5–19MB
~309K SLoC