#api-request #requests #per #second #low-level #client #client-config

vk_executive

专为每秒数百万请求设计,相对底层的VK API库

7个版本

0.8.5 2023年2月28日
0.8.4 2023年2月28日
0.7.0 2023年2月3日

#390HTTP客户端

每月 30 次下载

MIT 许可证

32KB
639

VK Executive 🚀

VK快速收集数据的库

[dependencies]
vk_executive = "0.8"

示例

use vk_executive::{Client, Instance};
use vk_method::{Method, Params};

#[tokio::main]
async fn main() {
    let token = ["1234567890abcdef1234567890abcdef1234567890abcdef"];
    let instances = Instance::from_tokens(token).unwrap();

    let pool = Client::from_instances(instances);

    let mut params = Params::new();
    params.insert("user_id", 1);

    let response = pool.method(Method::new(
        "users.get",
        params,
    )).await.unwrap();

    assert_eq!(
        response,
        serde_json::json!([
            {
                "id": 1,
                "first_name": "Pavel",
                "last_name": "Durov",
                "is_closed": false,
                "can_access_closed": true
            }
        ])
    )
}

lib.rs:

Vkontakte客户端的实现。通用目的是尽可能每秒执行尽可能多的请求。它使用智能压缩将vk_method::Method转换为execute。您还可以使用Client::from_configs创建使用多个Config的客户端。每个Config都包含自己的令牌、HTTP客户端、API版本等。

默认情况下,它提供了相对底层的Client::method。然而,还有一个名为thisvk的功能可用。如果您想从Client直接调用vk方法,请考虑使用它。有关详细信息,请参阅thisvk

依赖项

约7-19MB
约289K SLoC