瑞客论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 963|回复: 1

申请会员ID:mkdir700

[复制链接]
匿名  发表于 2020-11-22 14:35 |阅读模式
1、申 请 I D : mkdir700
2、个人邮箱:mkdir700@gmail.com
3、原创技术文章:https://www.z2blog.com/index.php/learn/423.html


超星学习通健康打卡课堂签到 (含API接口)

## 功能描述

登录方式:

支持手机号码登录,支持学号登录

签到功能(2020/08/24更新):

1. 课堂签到:支持普通签到,手势签到,二维码签到,位置签到,拍照签到
2. 健康打卡:支持腾讯云函数,0成本使用;依赖云函数支持API(可多人使用)

[post cid="602" cover="http://"/]

微信推送:

配置server酱key后,签到消息可以推送至您的个人微信

接口部署:

整合FastApi轻量级框架,可以将此项目部署到服务器,通过接口请求以达到签到功能

## 脚本下载

https://github.com/mkdir700/chaoxing_auto_sign

## 如何使用?

### 快速使用

每次需要签到的时候,就在浏览器内访问这个链接

`{}`替换成自己的账号密码

`http://101.89.182.58:9090/sign?username={}&password={}`

### 折腾使用

####1.云函数,自动签到(0成本)
参考此文
[post cid="459" /]

####2.自己有服务器
稍加修改代码,挂在自己的服务器上定时执行

####3.搭建API接口
[post cid="509" /]

## 接口使用

```
http://101.89.182.58:9090/sign/
```

请求代码示例:

```python
import requests

# POST
params = {
    'username': 'xxxxx',
    'password': 'xxxxx',
    'schoolid': '',
    'sckey': ''
}
requests.post('http://101.89.182.58:9090/sign/', params=params)

# GET
username = 'xxx'
password = 'xxx'
requests.get('http://101.89.182.58:9090/sign?username={}&password={}'.format(username, password))
```

在线接口调试:
http://101.89.182.58:9090/docs#/default/sign_sign__post


| 请求方式 | 参数 | 说明 | 是否必须 |
| :-: | :-: | :-: | :-: |
|   | username | 账号 | 是 |
| POST/GET | password | 密码 | 是 |
|   | schoolid | 学校ID | 否 |
|   | sckey | server酱key | 否 |

**如果是学号登录,fid参数必填**

### 如何获取FID

关于学号登录方式,有一个额外参数`schoolid`

http://passport2.chaoxing.com/login

![schoolid][5]

## 实现过程

### 1、 登录

```
# 手机号码及邮箱登录URL
# http://i.chaoxing.com/vlogin?pas ... p;userName=username

# 学号登录URL
# http://passport2.chaoxing.com/api/login?name={}&pwd={}&schoolid={}&verify=0
```

Post请求方式,参数就是账号密码
关于学号登录方式,有一个额外参数`schoolid`

http://passport2.chaoxing.com/login

![schoolid][5]

### 2、 访问课程主页

```
# 课程主页url
# http://mooc1-2.chaoxing.com/visit/interaction
```

访问课程主页,是获取所有课程的classid和courseid,需要这两个参数,才能拼接出该门课程的签到url
![获取classid,courseid][3]

### 3、访问任务页面

```
# 课程任务url
# https://mobilelearn.chaoxing.com ... p;jclassId=18855085
```

从课程主页获取classid courseid,现在就可以用到了,访问该课程任务url
这里的目的是为了获取`activeid`这个任务id
![无图片描述][4]

`onclick="activeDetail(129022258,2,null)"`
前面的数字就是`activeid` 后面的参数就是任务类型序号

```
2 签到
4 抢答
14 问卷
目前只知道这些
```

### 4、签到

拿到所有参数后,就可以签到了,直接get请求一下即可

```
# 签到url
# https://mobilelearn.chaoxing.com ... ;courseId=209403053
```

[1]:
[2]:
[3]:
[4]:
[5]:



回复

使用道具

18

主题

362

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

威望
7656
贡献
6770
热心值
334
金币
4170
注册时间
2019-3-15
发表于 2020-12-11 22:34 | 显示全部楼层
您好,可以重新整理贴出来,文章不全。
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

Archiver|手机版|小黑屋|瑞客论坛 |网站地图

GMT+8, 2024-4-20 14:02

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表