Skip to main content

厦门大学统一身份认证登录SDK

Project description

XMULogin

厦门大学统一身份认证登录 SDK

简介

XMULogin 是一个用于厦门大学统一身份认证系统的 Python SDK,提供简单易用的接口来登录以下系统:

  1. 统一身份认证系统
  2. 教务系统
  3. 数字化教学平台 (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

注意事项

  1. 请妥善保管您的账号密码,不要在代码中硬编码或提交到版本控制系统
  2. 建议使用环境变量或配置文件来存储敏感信息
  3. 本 SDK 仅供学习交流使用,请遵守学校相关规定
  4. 登录频率过高可能会被系统限制,请合理使用

安全建议

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


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xmulogin-1.0.0-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

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

Hashes for xmulogin-1.0.0.tar.gz
Algorithm Hash digest
SHA256 46075bc95e55cebea47c5e6eeb9220908a2d19a24008ca71113be47a0ce93e50
MD5 da88412251caf14ca7bd5e623e64b64c
BLAKE2b-256 41a77060fc8102698496340e7f4fd7772cc1610bae541ce125caf6acc00ca8ea

See more details on using hashes here.

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

Hashes for xmulogin-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 474bdea91258c795c1a9da519d081b09f03bb596f4557053e93ab646cb115e07
MD5 d2320f2db614251743a471f48b35f780
BLAKE2b-256 9dacc25d978166ee1a9bb0fbd8a5e0dfb9fa01e93324219ee104d188f91ea812

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page