1个不稳定版本
0.0.1 | 2022年2月17日 |
---|
#19 in #cas
43KB
569 行
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