2022/1/10更新
import requests
import json
import time
signID={"START":你的START状态的Sign,"END":你的END状态的Sign}
def signIn(token,type,cookies):
url = 'https://api.moguding.net:9000/attendence/clock/v2/save'
headers = {
'sign': signID[type],
'Authorization': token,
'Content-Type': 'application/json; charset=UTF-8',
'Rolekey': 'student'
}
data_dict={
"device":"Android",
"address":实习的详细地址,
"description":"",
"longitude":上面地址的经度,
"latitude":上面地址的纬度,
"planId":抓签到包上显示的planID,
"type":tpye
}
response = requests.post(url,headers=headers,data=json.dumps(data_dict),cookies=cookies)
try:
if response.status_code==200:
pass
else:
with open('C:/Users/Administrator/Desktop/signlog.txt', 'a+') as f:
f.write(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())+'签到失败\n')
except Exception as e:
pass
def login(signIn_type):
login_data = {
"phone":登陆的电话,
"password":登陆的密码,
"uuid":"",
"loginType":"android"
}
url = 'https://api.moguding.net:9000/session/user/v1/login'
headers = {
'Content-Type':'application/json; charset=UTF-8',
'Authorization':"",
'Rolekey':""
}
response = requests.post(url,headers=headers,data=json.dumps(login_data))
cookies = requests.cookies.RequestsCookieJar()
cookies.update(response.cookies)
token = json.loads(response.text)['data']['token']
if token:
signIn(token,signIn_type,cookies)
try:
pass
except Exception as e:
if "connection" in str(e):
print('网络连接超时')
else:
print('账号或密码输入错误')
if __name__ == '__main__':
login("START")
time.sleep(15)
login("END")
这次主要对签到接口的更新,因为这软件最新版在请求头多了个sign参数校验,不过经测试后只要确定签到地址(后面不要变地址了),然后记录下上班和下班状态的sign就好,这样就是固定的
前面的内容在吾爱论坛里搜“蘑菇丁自动签到”就可以啦
代码出现中文报错就是你要更改的参数,内容记得用英文引号""括起来
例:"phone":登陆的电话-->"phone":"1000xxxxxxx"
OK后面应该不会在更新了,各位自行调试
-----------------------------------------------------------------我是分割线--------------------------------------------------------------
有不懂或者有问题的地方欢迎在下面评论,收到信息会及时更新回复的(...大概)