1个不稳定版本

0.0.1 2022年2月17日

#19 in #cas

MIT许可证

43KB
569

neust

CI Docs Build Latest Version

文档

请参阅https://docs.rs/neust

许可证

MIT许可证。


lib.rs:

neust

NEU CAS绑定库针对Rust。

说明:端点

请参阅端点文档

示例

对于二进制程序示例,请参阅neust/examples

使用令牌查询用户名

use neust::{Session, auth};

let token = auth::Token::new("your_token");
let session = Session::new();
let status = session.login(&token).await?;
let username = status.get_username();

通过WebVPN访问内网服务

应启用功能: webvpn

use neust::{Session, auth, webvpn};

let credential = auth::Credential::new("username", "password");
let session = Session::new();
if !session.login(&credential).await?.is_active()
    || !session.login_via_webvpn(&credential).await?.is_active() {
    panic!("fail");
}
let client = session.client();
let request = client
    .get(webvpn::encrypt_url(
        "http://219.216.96.4/eams/teach/grade/course/person!search.action?semesterId=0",
    ))
    .build()?;
let response = client.execute(request).await?;

使用微信登录

应启用功能: wechat

use neust::{Session, auth};
use tokio::time::{sleep, Duration};

let wechat = auth::Wechat::default();
let session = Session::new();

sleep(Duration::from_secs(10)).await;

let status = session.login(&wechat).await?;
let username = status.get_username();

可选功能

  • webvpn:支持WebVPN端点。
  • wechat:支持微信授权。
  • native-tls (默认启用):启用由 native-tls 提供的TLS功能。
  • rustls-tls:启用由 rustls 提供的TLS功能。
  • json:提供JSON正反序列化。

依赖项

~6–22MB
~294K SLoC