Skip to main content

API for Xidian ZFW network system

Project description

1.X电最废物平台操作库功能概述

  • XidianZFW库可以实现对部分zfw.xidian.edu.cn中API的操纵,实现相关定制化Python脚本的快速开发。

Quick-Start

  • 可以用release里面的编译包。不相信NCC的多疑症患者们可以在根目录执行python setup.py sdist bdist_wheel来自己编译,之后再pip install .\dist\xidian_zfw-x.x.x-py3-none-any.whl安装即可。 引用时请使用from xidian_zfw.api import XidianZFW

2.安装该库

  • 克隆该项目:
git clone https://github.com/NanCunChild/xidian_zfw_pypi_api     #在Git Bash中运行
  • 注意,请确保你的Python版本至少为3.12,如不满足要求请自行安装对应版本。
  • 在本地安装该库:
cd C:\example\to_your_directory_\xidian_zfw_pypi_api #1.转到项目的根目录下。  
pip install .                                        #2.开始安装。

3.函数调用指南

3.1 用户登录

函数体:

login(self,username,password) -> dict

输入参数:

参数名 类型 是否必填 内容说明
username str 用户名
password str 密码

输出:

类型 内容说明
dict 登陆状态相关信息

结构(登录成功):

{ 
  'status': str,            # 登陆状态
  'message': str,           # 附加信息 
  'plan_num': int,          # 套餐总数 
  'unicom_plan': bool,      # 是否有联通套餐
  'telecom_plan': bool,     # 是否有电信套餐
  'ip_pay': int,            # 付费IP数量 
  'ip_free': int            # 免费IP数量
  }

3.2 获取用户套餐信息

函数体:

get_plan_info(self, username, encrypted_password=None, validation_code=None) ->dict
参数名 类型 是否必填 内容说明
username str 用户名
encrypted_password str 加密后的密码(登陆后可不传)
validation_code str 验证码(登陆后可不传)

输出:

类型 内容说明
dict 套餐信息
输出结构:
{
  'username': str,                         # 用户名
  'realname': str,                         # 真实姓名
  'status': str,                           # 登录状态
  'wallet': float,                         # 电子钱包余额
  'plan_num': int,                         # 套餐数量
  'unicom_plan': bool,                     # 是否有联通套餐
  'telecom_plan': bool,                    # 是否有电信套餐
  'public_plan': bool,                     # 是否有因公套餐
  'special_plan': bool,                    # 是否有特殊套餐
  'ip_pay': int,                           # 付费IP数量
  'ip_free': int,                          # 免费IP数量
  'ip_pay_list': list(set),                # 付费IP列表
  'ip_free_list': list(set)                # 免费IP列表
}

3.3 获取无感知MAC认证状态及绑定的MAC地址列表

函数体:

get_mac_auth_info(self) -> dict

输入:无需手动输入

输出:

类型 内容说明
dict 无感知MAC认证状态及绑定的MAC地址列表
输出结构:
{
  'status': str,                  # 状态
  'mac_auth_enabled': str,        # 验证无感知MAC认证开启
  'mac_list': list                # MAC地址列表
}

3.4 从CSV文件中读取用户名和密码并进行批量登录

函数体:

batch_login_from_file(self, file_path) 

输入参数:

参数名 类型 是否必填 说明
file_path str CSV文件路径
输出:
类型 说明
CSV文件 用户名和密码

输出结构(示例):

student_id,password,is_initial,plan_num,unicom_plan,telecom_plan,ip_free,ip_pay
2020114514,1234,True,2,True,False,5,3
2020114520,654321,False,0,False,False,0,0

4. 开源协议

  • 本项目采用GNU 通用公共许可证版本 3(GPLv3

5. 对于想要贡献本项目的人的建议

后续优化点

  • 产品顺序调整
  • 无感知认证MAC添加和修改
  • 账号密码修改
  • 个人信息修改

优化注意部分

  • 网站有特殊的反爬虫,我也稀里糊涂绕过的
  • 属于深澜部署的系统,但是验证码有刷新bug。好好利用可以大幅提升登录成功率。

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

xidian_zfw-0.0.0.dev0.tar.gz (14.3 MB view details)

Uploaded Source

File details

Details for the file xidian_zfw-0.0.0.dev0.tar.gz.

File metadata

  • Download URL: xidian_zfw-0.0.0.dev0.tar.gz
  • Upload date:
  • Size: 14.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for xidian_zfw-0.0.0.dev0.tar.gz
Algorithm Hash digest
SHA256 5d5ab04b650ad32005ad615e230c4baa8fe472162d63ac1d2ac422dec3280c3a
MD5 8ad9de9ae9c492ce33b0962805b564c9
BLAKE2b-256 181ff64fd16f820cba1d1d743a5f299bbdecbcd6fe3fc0a5177bc9ae8533a562

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