厦门大学统一身份认证登录SDK
Project description
XMULogin
厦门大学统一身份认证登录 SDK
简介
XMULogin 是一个用于厦门大学统一身份认证系统的 Python SDK,提供简单易用的接口来登录以下系统:
- 统一身份认证系统
- 教务系统
- 数字化教学平台 (TronClass)
安装
从 PyPI 安装
pip install xmulogin
从源码安装
git clone https://github.com/yourusername/xmulogin.git
cd xmulogin
pip install -e .
使用方法
基本用法
from xmulogin import xmulogin
# 登录统一身份认证系统 (type=1)
session = xmulogin(type=1, username="your_username", password="your_password")
if session:
print("登录成功")
# 使用 session 进行后续操作
response = session.get("https://ids.xmu.edu.cn/authserver/index.do")
print(response.status_code)
else:
print("登录失败")
登录不同系统
from xmulogin import xmulogin
# 1. 登录统一身份认证系统
session1 = xmulogin(type=1, username="your_username", password="your_password")
# 2. 登录教务系统
session2 = xmulogin(type=2, username="your_username", password="your_password")
# 3. 登录数字化教学平台
session3 = xmulogin(type=3, username="your_username", password="your_password")
完整示例
from xmulogin import xmulogin
def main():
username = "your_username"
password = "your_password"
# 选择登录类型
login_type = 1 # 1: 统一身份认证, 2: 教务系统, 3: 数字化教学平台
print(f"正在登录...")
session = xmulogin(type=login_type, username=username, password=password)
if session:
print("✓ 登录成功")
# 使用 session 进行后续请求
if login_type == 1:
response = session.get("https://ids.xmu.edu.cn/authserver/index.do")
print(f"统一身份认证系统状态: {response.status_code}")
elif login_type == 2:
response = session.get("https://jw.xmu.edu.cn/new/index.html")
print(f"教务系统状态: {response.status_code}")
elif login_type == 3:
response = session.get("https://lnt.xmu.edu.cn/api/user/info")
print(f"数字化教学平台状态: {response.status_code}")
else:
print("✗ 登录失败")
if __name__ == "__main__":
main()
API 参考
xmulogin(type, username, password)
厦门大学统一登录接口
参数:
type(int): 登录类型1- 统一身份认证系统2- 教务系统3- 数字化教学平台 (TronClass)
username(str): 学号或工号password(str): 密码
返回值:
- 成功: 返回已登录的
requests.Session对象 - 失败: 返回
None
异常:
ValueError: 当 type 参数不在有效范围 (1-3) 内时抛出
依赖
- Python >= 3.7
- requests >= 2.25.0
- pycryptodome >= 3.10.0
注意事项
- 请妥善保管您的账号密码,不要在代码中硬编码或提交到版本控制系统
- 建议使用环境变量或配置文件来存储敏感信息
- 本 SDK 仅供学习交流使用,请遵守学校相关规定
- 登录频率过高可能会被系统限制,请合理使用
安全建议
import os
from xmulogin import xmulogin
# 推荐:从环境变量读取敏感信息
username = os.getenv('XMU_USERNAME')
password = os.getenv('XMU_PASSWORD')
session = xmulogin(type=1, username=username, password=password)
发布到 PyPI
构建发行版
# 安装构建工具
pip install build twine
# 构建发行版
python -m build
上传到 PyPI
# 上传到 TestPyPI (测试)
python -m twine upload --repository testpypi dist/*
# 上传到 PyPI (正式)
python -m twine upload dist/*
许可证
MIT License
贡献
欢迎提交 Issue 和 Pull Request!
更新日志
v1.0.0 (2025-11-21)
- 初始版本发布
- 支持统一身份认证系统登录
- 支持教务系统登录
- 支持数字化教学平台登录
联系方式
如有问题或建议,请联系:your.email@example.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
xmulogin-1.0.0.tar.gz
(8.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xmulogin-1.0.0.tar.gz.
File metadata
- Download URL: xmulogin-1.0.0.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46075bc95e55cebea47c5e6eeb9220908a2d19a24008ca71113be47a0ce93e50
|
|
| MD5 |
da88412251caf14ca7bd5e623e64b64c
|
|
| BLAKE2b-256 |
41a77060fc8102698496340e7f4fd7772cc1610bae541ce125caf6acc00ca8ea
|
File details
Details for the file xmulogin-1.0.0-py3-none-any.whl.
File metadata
- Download URL: xmulogin-1.0.0-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
474bdea91258c795c1a9da519d081b09f03bb596f4557053e93ab646cb115e07
|
|
| MD5 |
d2320f2db614251743a471f48b35f780
|
|
| BLAKE2b-256 |
9dacc25d978166ee1a9bb0fbd8a5e0dfb9fa01e93324219ee104d188f91ea812
|