└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # 学习通签到Api分析 2 | ### 登录接口 3 | #### 账号密码登录1 4 | https://passport2-api.chaoxing.com/v11/loginregister?code=${pwd}&cx_xxt_passport=json&uname=${uname}&loginType=1&roleSelect=true 5 | > 接口返回`cookie`和`uid` 6 | #### 账号密码登录2 7 | https://passport2.chaoxing.com/fanyalogin 8 | >Post提交`fid=-1&uname=${uname}&password=${encryptPwd}&refer=https%253A%252F%252Fwww.baidu.com%252Flink%253Furl%253D7F6K1ISfp_Qh_YMOftV_1CdfwkA8zQnhOR6jlqtCVZxdMssUZVIX2uVSC1NXiSebyQ8Ur8YILmFm0Vo7naeSl_%2526wd%253D%2526eqid%253Df3f8f74c0023361200000003634e4a8b&t=true&forbidotherlogin=0&validate=&doubleFactorLogin=0&independentId=0` 9 | > > `encryptPwd`是DES加密后的密码 mode:ECB padding:Pkcs7 iv:u2oh6Vu^HWe40fj 10 | > > > 接口返回`cookie`和`uid` 11 | #### 二维码扫码登录 12 | http://passport2.chaoxing.com/login?fid=&newversion=true&refer=http://i.chaoxing.com 13 | > 页面返回`uuid`和`enc` 14 | 15 | http://passport2.chaoxing.com/createqr?uuid=${uuid}&fid=-1 16 | > 页面返回`二维码图片` 17 | 18 | http://passport2.chaoxing.com/getauthstatus 19 | > Post提交`enc=${enc}&uuid=${uuid}` 20 | > > 接口返回扫码状态,登陆成功协议头返回`cookie`和`uid` 21 | 22 | ### 获取课程接口 23 | http://mooc1-api.chaoxing.com/mycourse/backclazzdata?view=json&rss=1 24 | > 接口返回`courseId`和`classId` 25 | 26 | ### 查询活动接口 27 | #### 查询活动接口1 28 | https://mobilelearn.chaoxing.com/v2/apis/active/student/activelist?fid=0&courseId=${courseId}&classId=${classId}&showNotStartedActive=0&_=1663752482576 29 | > 接口返回`activeId` 30 | #### 查询活动接口2 31 | https://mobilelearn.chaoxing.com/ppt/activeAPI/taskactivelist?courseId=${courseId}&classId=${classId} 32 | > 须在请求头加入学习通原生UA`User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 16_0_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 (schild:eaf4fb193ec970c0a9775e2a27b0232b) (device:iPhone11,2) Language/zh-Hans com.ssreader.ChaoXingStudy/ChaoXingStudy_3_6.0.2_ios_phone_202209281930_99 (@Kalimdor)_1665876591620212942` 33 | > > 接口返回`activeId` 34 | ### 签到接口 35 | #### 预签到(所有签到接口访问前都必须进行一次预签到) 36 | https://mobilelearn.chaoxing.com/newsign/preSign?courseId=${courseId}&classId=${classId}&activePrimaryId=${activeId}&general=1&sys=1&ls=1&appType=15&tid=&uid=${uid}&ut=s 37 | #### 通用签到接口(普通签到,手势签到,签到码签到,不提交图片的拍照签到,不提交位置的位置签到) 38 | https://mobilelearn.chaoxing.com/pptSign/stuSignajax?activeId=${activeId} 39 | ##### 手势签到,签到码签到的签到码获取 40 | https://mobilelearn.chaoxing.com/v2/apis/active/getPPTActiveInfo?activeId=${activeId} 41 | > 接口返回的`signcode`项是签到码 42 | #### 提交图片的拍照签到 43 | https://mobilelearn.chaoxing.com/pptSign/stuSignajax?activeId=${activeId}&objectId=${objectId} 44 | ##### 获取objectId 45 | ###### 登录超星网盘 46 | https://pan-yz.chaoxing.com/api/token/uservalid 47 | > 接口返回网盘`token` 48 | ###### 上传图片 49 | https://pan-yz.chaoxing.com/upload 50 | > post提交`{'puid': uid, '_token': token}`以及需要上传的`图片` 51 | >> 接口返回`objectId` 52 | >>> 你可以在`https://p.ananas.chaoxing.com/star3/270_160c/${objectId}.png`预览你的图片 53 | #### 自定义位置的位置签到 54 | https://mobilelearn.chaoxing.com/pptSign/stuSignajax?address=${locationText}&activeId=${activeId}&latitude=${locationLatitude}&longitude=${locationLongitude}&fid=0&appType=15&ifTiJiao=1 55 | > `locationText` 是签到位置 `locationLatitude`是签到位置的纬度 `locationLongitude`是签到位置的经度 56 | ##### 获取教师指定位置签到的所需信息 57 | https://mobilelearn.chaoxing.com/v2/apis/active/getPPTActiveInfo?activeId=${activeId} 58 | >接口返回所需要的 `locationText` , `locationLatitude`, `locationLongitude` 59 | #### 二维码签到 60 | https://mobilelearn.chaoxing.com/pptSign/stuSignajax?activeId=${activeId}&enc=${enc}&fid=0 61 | >`enc`参数为签到二维码解码所得 62 | >>二维码enc不再是固定值了,十秒一变的码大家就各显神通吧 63 | 64 | --------------------------------------------------------------------------------