2020年10月29日,今日校園閑得蛋疼,改了接口,文章中部分接口失效,最新接口點擊下面源碼鏈接,獲取
之前未開學之前,是信息表采集,開學之后,改成了循環簽到和查寢,那就想着再寫個腳本
站在巨人的肩膀上,所以該代碼全部開源,我也借鑒的大佬的東西,放在第三節致謝。有問題可以在下面進行留言討論!
一、自動每日簽到
1.1 思路
- 抓包(抓包的流程,可以參照我之前的文章)
- 每日接口獲取最新表單
- 通過上步的id獲取詳細表單
- 通過上步獲取該表單的選項id
如果整體的思路看不明白,可以參照下面的詳細步驟
1.1 獲取最新表單
接口
/wec-counselor-sign-apps/stu/sign/getStuSignInfosInOneDay
參數
{}
返回值
{
"code": "0",
"message": "SUCCESS",
"datas": {
"dayInMonth": "2020-09-10",
"codeRcvdTasks": [],
"signedTasks": [],
"unSignedTasks": [{
"stuSignWid": "746210",
"signInstanceWid": "4146", //需要
"signWid": "514213", //需要
"signRate": "1",
"taskType": "4",
"taskName": "一日三簽(早簽到)",
"senderUserName": "牛逼學院(牛逼老師)",
"signStatus": "2",
"isMalposition": null,
"isLeave": "0",
"leavePcUrl": null,
"leaveMobileUrl": null,
"currentTime": "2020-09-10 08:15",
"singleTaskBeginTime": null,
"singleTaskEndTime": null,
"rateSignDate": "2020-09-10 (周四)",
"rateTaskBeginTime": "05:00",
"rateTaskEndTime": "09:59"
}, {
"stuSignWid": "759720",
"signInstanceWid": "4199",
"signWid": "514234",
"signRate": "1",
"taskType": "4",
"taskName": "一日三簽(午簽到)",
"senderUserName": "牛逼學院(牛逼老師)",
"signStatus": "2",
"isMalposition": null,
"isLeave": "0",
"leavePcUrl": null,
"leaveMobileUrl": null,
"currentTime": "2020-09-10 08:15",
"singleTaskBeginTime": null,
"singleTaskEndTime": null,
"rateSignDate": "2020-09-10 (周四)",
"rateTaskBeginTime": "10:00",
"rateTaskEndTime": "15:59"
}, {
"stuSignWid": "778325",
"signInstanceWid": "4266",
"signWid": "535128",
"signRate": "1",
"taskType": "4",
"taskName": "一日三簽(晚簽到)",
"senderUserName": "牛逼學院(牛逼老師)",
"signStatus": "2",
"isMalposition": null,
"isLeave": "0",
"leavePcUrl": null,
"leaveMobileUrl": null,
"currentTime": "2020-09-10 08:15",
"singleTaskBeginTime": null,
"singleTaskEndTime": null,
"rateSignDate": "2020-09-10 (周四)",
"rateTaskBeginTime": "16:00",
"rateTaskEndTime": "22:00"
}],
"leaveTasks": []
}
}
其中我們需要獲取signWid
514213和signInstanceWid
4146
1.2 獲取詳細信息
接口
/wec-counselor-sign-apps/stu/sign/detailSignInstance
參數
{
"signWid" : 514213,
"signInstanceWid" : 4146
}
返回值
{
"message" : "SUCCESS",
"datas" : {
"latitude" : "",
"singleTaskEndTime" : null,
"catQrUrl" : "https:\/\/cat.cpdaily.com\/erweima",
"singleTaskBeginTime" : null,
"signInstanceWid" : "4146",
"signPhotoUrl" : null,
"signTime" : null,
"senderUserName" : "牛逼學院(牛逼老師)",
"qrCodeRcvdUsers" : [
{
"targetWid" : "91457111",
"targetType" : "4",
"targetName" : "牛逼老師\/19070302",
"targetGrade" : "-1",
"targetDegree" : "-1",
"targetUserType" : "-1"
}
],
"isNeedExtra" : 1,
"signCondition" : 0,
"currentTime" : "2020-09-10 09:33:08",
"taskDesc" : "https:\/\/wecres.cpdaily.com\/counselor\/1018615876819107\/content\/54e503639d0244049c3b85baabe509fc.html",
"signType" : null,
"changeActorName" : "牛逼老師",
"isMalposition" : 0,
"longitude" : "",
"signedStuInfo" : {
"cls" : "20200521",
"major" : "改變世界專業-牛逼",
"dept" : "牛逼學院",
"sex" : "男",
"mobile" : null,
"nation" : "-",
"userWid" : "1017790009",
"userId" : "20200521",
"userName" : "雷軍",
"malposition" : null,
"extraFieldItemVos" : [
{
"fieldIndex" : 0,
"extraDesc" : "",
"extraFieldItemWid" : "",
"extraTitle" : "體溫",
"extraFieldItem" : null,
"isExtraFieldOtherItem" : "0",
"isAbnormal" : "0"
},
{
"fieldIndex" : 0,
"extraDesc" : "",
"extraFieldItemWid" : "",
"extraTitle" : "身體是否異常",
"extraFieldItem" : null,
"isExtraFieldOtherItem" : "0",
"isAbnormal" : "0"
}
],
"schoolStatus" : null,
"stuDormitoryVo" : {
"sex" : "",
"area" : "",
"building" : "",
"unit" : "",
"room" : ""
},
"grade" : "2019級"
},
"extraFieldItemVos" : [
],
"changeTime" : null,
"taskType" : "4",
"photograph" : [
],
"signRate" : "1",
"isPhoto" : 0,
"signAddress" : null,
"rateTaskEndTime" : "09:59",
"taskName" : "一日三簽(早簽到)",
"leaveAppUrl" : "\/wec-counselor-leave-apps\/leave\/home\/index.html",
"isAllowUpdate" : false,
"signMode" : 0,
"rateTaskBeginTime" : "05:00",
"signStatus" : "2",
"signPlaceSelected" : [
{
"address" : "只有野雞學校才用這個流氓app(北界王西區)",
"radius" : 520,
"longitude" : "125.398185",
"placeWid" : null,
"creatorUserWid" : null,
"creatorName" : null,
"wid" : null,
"latitude" : "44.001709",
"currentStatus" : null,
"isShare" : null,
"creatorUserId" : null
},
{
"address" : "只有野雞學校才用這個流氓app(北界王東區)",
"radius" : 500,
"longitude" : "125.40993457956229",
"placeWid" : null,
"creatorUserWid" : null,
"creatorName" : null,
"wid" : null,
"latitude" : "44.00262969203334",
"currentStatus" : null,
"isShare" : null,
"creatorUserId" : null
},
{
"address" : "只有野雞學校才用這個流氓app(南界王校區)",
"radius" : 400,
"longitude" : "125.296568",
"placeWid" : null,
"creatorUserWid" : null,
"creatorName" : null,
"wid" : null,
"latitude" : "43.859918",
"currentStatus" : null,
"isShare" : null,
"creatorUserId" : null
}
],
"rateSignDate" : "2020-09-10 (周四)",
"extraField" : [
{
"hasOtherItems" : 0,
"title" : "體溫",
"extraFieldItems" : [
{
"isSelected" : null,
"value" : null,
"content" : "37.3度以下",
"isOtherItems" : 0,
"wid" : 499882,//獲取
"isAbnormal" : false
},
{
"isSelected" : null,
"value" : null,
"content" : "37.3度及以上",
"isOtherItems" : 0,
"wid" : 499883,
"isAbnormal" : true
}
],
"description" : "",
"wid" : 211814
},
{
"hasOtherItems" : 1,
"title" : "身體是否異常",
"extraFieldItems" : [
{
"isSelected" : null,
"value" : null,
"content" : "健康",
"isOtherItems" : 0,
"wid" : 499884,//獲取
"isAbnormal" : false
},
{
"isSelected" : null,
"value" : null,
"content" : "感冒",
"isOtherItems" : 0,
"wid" : 499885,
"isAbnormal" : false
},
{
"isSelected" : null,
"value" : null,
"content" : "發燒",
"isOtherItems" : 0,
"wid" : 499886,
"isAbnormal" : false
},
{
"isSelected" : null,
"value" : null,
"content" : "咳嗽",
"isOtherItems" : 0,
"wid" : 499887,
"isAbnormal" : false
},
{
"isSelected" : null,
"value" : null,
"content" : "其它",
"isOtherItems" : 1,
"wid" : 499888,
"isAbnormal" : false
}
],
"description" : "",
"wid" : 211815
}
],
"downloadUrl" : "https:\/\/img.cpdaily.com\/ldy\/index.html"
},
"code" : "0"
}
獲取我需要的兩個參數,體溫選項
499882和身體是否異常選項
499884
1.3 模擬提交
最后通過上面步驟獲取到的4146,499882,499884以及自定義的地址,進行簽到
接口
/wec-counselor-sign-apps/stu/sign/submitSign
參數
{
"abnormalReason": "",
"position": "你的地址",
"longitude": 你的經度,
"isNeedExtra": 1,
"latitude": 你的緯度,
"isMalposition": 0,
"extraFieldItems": [{
"extraFieldItemWid": 499882,
"extraFieldItemValue": "37.3度以下"
},
{
"extraFieldItemWid": 499884,
"extraFieldItemValue": "健康"
}
],
"signInstanceWid": "4146",
"signPhotoUrl": ""
}
返回值
{
"message" : "SUCCESS",
"datas" : {
"signedStuInfo" : null,
"signInstanceWid" : "4146"
},
"code" : "0"
}
1.4 運行結果
二、自動每日查寢
2.1 思路
- 抓包(抓包的流程,可以參照我之前的文章)
- 每日接口獲取最新表單
- 通過上步的id獲取詳細表單
- 通過上步獲取該表單的選項id
2.2 接口
獲取最新查寢
/wec-counselor-attendance-apps/student/attendance/getStuAttendacesInOneDay
獲取詳細查寢
/wec-counselor-attendance-apps/student/attendance/detailSignInstance
提交查寢
/wec-counselor-attendance-apps/student/attendance/submitSign
2.3 隨機圖片
今日校園的圖片,是存儲到了阿里雲。當然,你也可以嘗試用代碼實現自動往阿里雲提交,但是我還是覺得太麻煩,就放棄了。
提交查寢時的參數
{
"signInstanceWid": "null",
"longitude": "null",
"latitude": "null",
"isMalposition": "null",
"abnormalReason": "null",
"signPhotoUrl": "null", //這個地方的圖片鏈接,其實也可以放你自己服務器的圖片鏈接,然后隨機即可。
"position": "null",
"qrUuid": "null"
}
三、獲取今日校園阿里雲oss賬號
3.1 前言
10月22日,學校換了新的簽到,要拍照。
在提交今日校園照片的時候,無意間抓包到一系列數據,然后,看了阿里雲oss的文檔之后,頓時明白了許多。
終於知道為啥好多人擠破頭顱都要去阿里了。
阿里,就是牛逼,就連上傳的所有可能用到的比較人性化的功能(比方說上傳進度條功能),都給整完了。
就連我這種菜雞,都能拿來就可以用。
我曾經聽過某大佬說,真正的開發者,寫的代碼,不僅條理清楚,還通俗易懂。這用來形容阿里再合適不過了。
這是不是就是真正的宗師境界呢?
原諒我太過激動,這也更讓我堅定了,要努力學習,進大廠的願望
3.2 正題
今日校園獲取阿里雲OSS的接口
/wec-counselor-sign-apps/stu/sign/getStsAccess
請求頭中攜帶自己的cookie
獲取如下信息,然后用id、secret、token,再結合阿里開源
{
"code": "0",
"datas": {
"accessKeyId": "STS.NV47ZBrGJfjlsj97t7VKWepMJvc",
"accessKeySecret": "6ZdSLF6T3JPCbQgqd3mTcqzbEh987829gksCaFxsdxdYK",
"securityToken": "CAIShAN1q6Ft5B2yfSjIr5WBfOD2n5hrgfufR235nFYeW+pcoo/dgTz228gnsibhnhsPw1m2xT6/cTlr0qEsIVGxybMpcutsoGqFP5JtKZ4pQdXmbqNdv3d1KIAjvXgeUFCoeQFaEME5XAQlTAkTAJK9KYERypQ12iN7CQlJdjda55dwKkbD1AdtU0Qwx5s501OGf2P/SgOQKI523LFxhQpxZbg2Fy4rjdusqH8UjygVn31uIyrYb8KYTGCs53J8VbUsyp5OVsarGjoClL8Epj/qBskIlZ/SvGptiHH2RJ5xKPP4iz9cZ0fit4fbQdEaxJp+Tn774a3NbejIPq0R1AEPhIWiDEPuCazdDDBfmiO6ReF9PyMG+f1cuUZNun8VFmQwpCbV4aJYp+dSMuUUJ9E2GCEML9pgCWODXEYrOezaQ73aByy1jV5teQLzCNOe7Ejn5HasRtNx1wbUFKhjGwI7V1eghNYk5hAK2OUYJwYRZRpKXlpwTOUTd6yXVarykzhQceaE91GoABUp6SSSSKU/bJ1rJtD536UCvZcYvsdl9eaDRwkSdFJhLlmd/jC6wpk1NUdqkDbRCs87xwfPZrdfL6AJXRxN0bXIR79q4M9s7tlqes+5iCDaXwsk5/MhIRE+asN6AM9YzOjlu2uftrxyvUsVqMbkBz8QCF+KrdLnSzvTQr1K+LdJQ\u003d",
"expiration": "2020-10-22T14:53:12Z",
"endPoint": "oss-cn-hangzhou.aliyuncs.com",
"bucket": "wecloud-res",
"fileName": "counselor/101820526o268269/content/2085lksj2jgwjoihggsljh.png"
},
"message": "SUCCESS"
}
此處我也遇到了很多問題,比方說有token經常報錯不對,那就繼續抓包,在上傳照片的請求體重,會獲得x-oss-security-token
再將token換成x-oss-security-token即可登錄今日校園oss,當然,這並不是永久有效的,但是依然有最高權限,比方說刪除之類~
注意:
不要亂刪除內容哦~
附張成功登錄oss之后的圖