在论坛里看了很久,突然翻到一篇蘑菇丁签到的帖子,进去看评论发现底下反馈已经失效了。看了看底下还是有需求的,我把自己之前实习还在用的版本给大家分享把,毕竟现在也到了实习的时候!!!首先大家要先去手机端抓包!!!
第一步,咱们先自己打一次卡,然后打开抓包软件,找到请求头里面的sign参数,并记下来。
第二步找到请求值,把里面的address参数,planId参数,以及latitude和longitude参数给拿出来
到此为止,参数已经拿的差不多了。说不多说上代码。
[Python] 纯文本查看 复制代码 # -*- coding: utf8 -*-
import requests
import random
import time
import sched
import json
phone=""#蘑菇丁账号
password=""#蘑菇丁密码
sec = 1 # 延迟签到的上限时间,单位为秒
loginUrl = "https://api.moguding.net:9000/session/user/v1/login"
saveUrl = "https://api.moguding.net:9000/attendence/clock/v2/save"
inc = random.randint(0,sec)
schedule = sched.scheduler(time.time, time.sleep)
def getToken():
data = {
"password": password,
"loginType":"android",
"uuid":"",
"phone": phone
}
resp = postUrl(loginUrl,data=data, headers={"Content-Type": "application/json; charset=UTF-8",'User-Agent': 'Mozilla/5.0 (Linux; U; Android 10; zh-cn; MIX 3 Build/QKQ1.190828.002) AppleWebKit/533.1 (KHTML, like Gecko) Version/5.0 Mobile Safari/533.1'})
return resp['data']['token']
def postUrl(url,headers,data):
requests.packages.urllib3.disable_warnings()
resp = requests.post(url, headers=headers, data=json.dumps(data),verify=False)
return resp.json()
def main():
headers = {
'Content-Type': 'application/json; charset=UTF-8',
'User-Agent': 'Mozilla/5.0 (Linux; U; Android 10; zh-cn; MIX 3 Build/QKQ1.190828.002) AppleWebKit/533.1 (KHTML, like Gecko) Version/5.0 Mobile Safari/533.1',
'roleKey': 'student',
'Authorization': getToken(),
'Content-Length': '262',
'sign': '',#填sign参数
}
data = {
"country": "中国",
"address": "",#签到地址
"province": "",#签到省份
"city": "",#签到城市
"description": "",#签到文本
"planId": "",#通过抓包获得
"type": "START",#START 上班 END 下班
"device": "Android",
"latitude": "",#签到维度
"longitude": "",#签到经度
}
resp = postUrl(saveUrl,headers,data)
print(resp)
print("%s秒后进行签到" % inc)
schedule.enter(inc, 0, main, ())
schedule.run()
把上面拿到的信息都放到函数里面,后面需要的东西我都写了注释.
在本人测试的时候还是可以用的,希望大家多多指教。
第一次在吾爱发图文帖子,讲的可能不那么清楚,大家多多包涵哈。 |