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
565KB
1.5K SLoC
rs621
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