Skip to content

whitebear354/AutoWeiBan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 

Repository files navigation

AutoWeiBan学习助手

辅助麦课安全网课学习

GitHub All Releases GitHub GitHub release GitHub last commit

使用方法

  1. 首先需要在运行设备上安装Python3运行环境。具体安装方法可以参考网上的教程进行一般操作。或者也可以使用包管理器很方便安装Python(Windows用户可以使用Choco,Mac可以使用Brew,Linux用户,恩,包管理器对于Linux用户来说就是传统艺能)。

  2. 接着打开命令行操作界面,CD(Change Directory)到该脚本的目录下

  3. 最后执行python main.py 即可开始运行该脚本,按照指示使用即可。

可以Modify(自定义)的地方

  1. 院校码,这个没有深入研究如何获取到具体学校的tenantCode(院校码,用于发送请求时区分学校)。每个学校的都是不同的,如果你想获取自己学校的tenantCode的话,你可以自己试着登录一次,在浏览器开发者工具中的网络选项卡中查看网络请求信息抓取。或者实在不会操作可以提个Issues过来。

  2. 课程间的延迟时间,在WeiBanAPI.py文件的头部中有两个参数分别为baseDelayTime基础延时秒数和randomDelayDeviation叠加随机延时差。实际延迟时间 = 基础延时秒数 + 叠加随机延时差

抓包

登录请求

Request URL: https://weiban.mycourse.cn/pharos/login/login.do

Method: POST

Status Code: 200 OK

HEAD:

Host: weiban.mycourse.cn
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0
Accept: application/json, text/plain, */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded
Content-Length: 64
Connection: keep-alive
Referer: https://weiban.mycourse.cn/
Cookie: ****

Parameter:

keyNumber 学号
password 密码
tenantCode 学院编码

Response:

{
    "code":"0",
    "data":{
        "userId":"用户ID",
        "userName":"账号,吉珠是身份证",
        "isBind":"1",
        "tenantCode":"学院编号",
        "batchCode":"003",
        "gender":1,
        "openid":"oeNC****57Zc",
        "switchGoods":1,
        "switchDanger":1,
        "switchNetCase":1,
        "isConfirmed":2,
        "preUserProjectId":"4ca8****c6a6任务ID",
        "preAlias":"新生安全教育",
        "preBanner":"https://h.mycourse.cn/pharosfile/resources/images/projectbanner/pre.png",
        "normalAlias":"安全课程",
        "normalBanner":"https://h.mycourse.cn/pharosfile/resources/images/projectbanner/normal.png",
        "specialAlias":"专题学习",
        "specialBanner":"https://h.mycourse.cn/pharosfile/resources/images/projectbanner/special.png",
        "militaryAlias":"军事理论",
        "militaryBanner":"https://h.mycourse.cn/pharosfile/resources/images/projectbanner/military.png",
        "isLoginFromWechat":2
    },
    "detailCode":"0"
}

课程请求

Request URL: https://weiban.mycourse.cn/pharos/usercourse/listCourse.do

Method: POST

Status Code: 200 OK

HEAD:

Host: weiban.mycourse.cn
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0
Accept: application/json, text/plain, */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded
Content-Length: 89
Connection: keep-alive
Referer: https://weiban.mycourse.cn/
Cookie: ****

Parameter:

userProjectId 4ca8****c6a6任务ID
chooseType 3 (未知值)
tenantCode 学院编号
name 空 (未知值)

Response:

{
    "code":"0",
    "data":[
        {
            "categoryCode":"001001",
            "categoryName":"国家安全与安全文化",
            "categoryRemark":"国家安全是国家的基本利益,是一个国家处于没有危险的客观状态,也就是国家没有外部的威胁和侵害也没有内部的混乱和疾患的客观状态。
国家安全大类从领土安全、政治安全、军事安全、经济安全、文化安全、科技安全、生态安全、网络安全、相关法律法规等方面介绍了总体国家安全观内容,以及从反恐、间谍、邪教等方面介绍了国家安全知识内容。",
            "totalNum":11,
            "finishedNum":11,
            "courseList":[
                {
                    "userCourseId":"2d63****912b单课ID",
                    "resourceId":"b78de19d-********-5a61f9e2726b",
                    "resourceName":"邪教的自述",
                    "finished":1,
                    "isPraise":1,
                    "isShare":2,
                    "praiseNum":33345,
                    "shareNum":0,
                    "shared":2
                }
            ]
        }
    ]
}

进度请求

Request URL: https://weiban.mycourse.cn/pharos/project/showProgress.do

Method: POST

Status Code: 200 OK

HEAD:

Host: weiban.mycourse.cn
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0
Accept: application/json, text/plain, */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded
Content-Length: 70
Connection: keep-alive
Referer: https://weiban.mycourse.cn/
Cookie: ****

Parameter:

userProjectId 4ca8****c6a6任务ID
tenantCode 51900002

Response:

{
    "code":"0",
    "data":{
        "courseNum":200,
        "courseFinishedNum":200,
        "pushNum":0,
        "pushFinishedNum":0,
        "optionalNum":0,
        "optionalFinishedNum":0,
        "requiredNum":200,
        "requiredFinishedNum":200,
        "examNum":2,
        "examFinishedNum":2,
        "endTime":"2019-04-30 00:00:00",
        "ended":1,
        "lastDays":0,
        "courseFinished":1
    },
    "detailCode":"0"
}

获取个人信息

Request URL: https://weiban.mycourse.cn/pharos/my/getInfo.do

Method: POST

Status Code: 200 OK

HEAD:

Host: weiban.mycourse.cn
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0
Accept: application/json, text/plain, */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded
Content-Length: 63
Connection: keep-alive
Referer: https://weiban.mycourse.cn/
Cookie: ****
Cache-Control: max-age=0

Parameter:

userId fdc2****0043个人ID
tenantCode 学院码

Response:

{
    "code":"0",
    "data":{
        "realName":"张三",
        "studentNumber":"",
        "examNumber":"",
        "enrollNumber":"",
        "gender":"",
        "tenantName":"学校名",
        "orgName":"计算机学院",
        "specialtyName":"软件工程",
        "mobile":""
    },
    "detailCode":"0"
}

请求完成课程

Request URL: https://weiban.mycourse.cn/pharos/usercourse/finish.do?userCourseId=2d63****8912b&tenantCode=51900002

Method: GET

Status Code: 200 OK

HEAD:

Host: weiban.mycourse.cn
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0
Accept: */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Referer: *****
Cookie: ****
Pragma: no-cache
Cache-Control: no-cache

About

北京麦课安全微课刷课

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages