1个不稳定版本

0.1.0 2023年1月20日

#365HTTP客户端


用于 2 crate

MIT 许可协议

375KB
6K SLoC

ratmom

这是ratmom,一个有意义的基于libcurl的Rust http客户端。

isahc的分支。

Crates.io Documentation License Crates.io downloads Maintenance Build

与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