#api-client #api #client #e621 #furry #e926 #http-api

xe621

Rust 用于 E621 API(一个大型 furry 艺术在线档案馆)的 crate

4 个版本

0.6.3 2020 年 2 月 9 日
0.6.2 2020 年 2 月 8 日
0.6.1 2020 年 2 月 8 日
0.6.0 2020 年 2 月 8 日

#5 in #e621

MIT/Apache

565KB
1.5K SLoC

rs621

Build Status codecov Crates.io Docs.rs Telegram

Rust 对 e621.net API 的绑定。

E621 是一个大型 furry(拟人)艺术的在线档案馆。rs621 提供了对其公开 HTTP API 的简单易用的绑定。它使用 reqwest crate 通过 HTTPS 发送请求。

特性

  • 便捷的基于迭代器的 API。
  • 支持发帖列表和搜索,使用网站上的任何搜索选项。
  • 池列表和搜索。
  • 无限制的结果计数(自动按顺序发送更多请求,以超出每请求 320 篇帖子的 API 限制)。

用法

首先,创建一个 Client。您必须为您的项目提供一个描述性的 User-Agent。官方 API 鼓励您包括您的 E621 用户名,这样如果您的项目导致问题,您可能会被联系。

let client = Client::new("MyProject/1.0 (by username on e621)")?;

现在它已经准备好了!例如,您可以像这样获取帖子 #8595

let post = client.get_post(8595)?;

assert_eq!(post.id, 8595);

或者您可以使用标签在网站上执行搜索,例如

println!("A list of cool fluffy posts:");
for post in client.post_search(&["fluffy", "rating:s"][..]).take(20) {
    println!("#{}", post?.id);
}

要求

rs621 使用 rust-openssl crate。它有一些要求

在 Linux 上

  • OpenSSL 1.0.1、1.0.2 或 1.1.0 与头文件(见 rust-openssl)。

在 Windows 和 macOS 上

  • 无要求。

有关更多详细信息,请参阅 reqwest on crates.io

许可协议

rs621 根据 MIT 许可协议和 Apache 许可协议(版本 2.0)中的条款进行许可,由您选择。

有关完整内容,请参阅 LICENSE-MIT 和 LICENSE-APACHE-2.0 文件。

依赖关系

~3.5–8MB
~173K SLoC