//! Bilibili Web 与直播接口的异步 Rust 客户端。 //! //! # 设计范围 //! //! 本 crate 提供可复用的 HTTP 请求基础设施、WBI 查询签名、会话凭据处理,以及直播 //! WebSocket 数据包与业务命令解析。常用 Web API 按直播、视频、用户、评论和搜索等 //! 领域组织;各领域方法返回 [`serde_json::Value`],以兼容服务端持续变化的响应字段。 //! 调用方也可以使用 [`Client`] 的通用请求方法访问尚未封装的端点。 //! //! # 认证与状态变更 //! //! 本 crate 不实现密码、二维码、验证码或 OAuth 登录流程。请通过 Bilibili 的正常登录 //! 流程取得会话,再将 `SESSDATA` 和 `bili_jct` 提供给 [`Credentials`]。需要会话的 //! 状态变更请求会自动补充 `csrf` 与 `csrf_token`;没有可用 CSRF token 时会返回错误。 //! //! ```no_run //! use libilibili::Client; //! //! # async fn example() -> Result<(), libilibili::Error> { //! let client = Client::anonymous()?; //! let room = client.live().room_init(5050).await?; //! println!("{room:#}"); //! # Ok(()) } //! ``` mod auth; mod client; mod endpoints; mod error; mod wbi; #[cfg(feature = "websocket")] pub mod websocket; pub use auth::{Credentials, CredentialsBuilder}; pub use client::{Client, ClientBuilder, Response}; pub use endpoints::{CommentApi, LiveApi, SearchApi, UserApi, VideoApi}; pub use error::{ApiError, Error, Result}; pub use wbi::{WbiKey, WBI_MIXIN_TABLE};