1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
| import logging import requests import json import random import time
def handler(event, context): ''' 下方填写key 需抓包 key在更换微信登录后会改变 具体有效期尚未可知 ''' session = requests.session() headers = { 'Host': 'jdsd.gzhu.edu.cn', 'Accept': '*/*', 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) ' 'Mobile/15E148 MicroMessenger/8.0.2(0x18000233) NetType/WIFI Language/en', 'Referer': 'https://servicewechat.com/wxb78a5743a9eed5bf/15/page-frame.html', 'Accept-Language': 'en-us' } session.headers = headers url = "https://jdsd.gzhu.edu.cn/coctl_gzhu/index_wx.php"
def get_info(): flag = False info_data = { 'route': 'user_info', 'key': key } res = session.post(url, data=info_data).json() info = {} if res['status'] == 1: flag = True info['name'] = res['re']['user_name'] info['today'] = res['re']['per_day_credits'] info['total'] = res['re']['credits'] return flag, info
def signin(): signin_data = { 'route': 'signin', 'key': key } res = session.post(url, data=signin_data).json()
def train(): get_id_data = { 'route': 'train_list_get', 'diff': '0', 'key': key } question = session.post(url, data=get_id_data).json() ans = [] for i in question['re']['question_bag']: ans.append([i['num'], "1"]) train_id = question['re']['train_id'] train_data = { 'route': 'train_finish', 'train_id': train_id, 'train_result': json.dumps(ans), 'key': key } res = session.post(url, data=train_data).json() if res['status'] == 1: return True else: return False
def read(): read_data = { 'route': 'classic_time', 'addtime': 0, 'type': 1, 'key': key }
for i in range(1, 6): read_data['type'] = i read_data['addtime'] = 0 begin = session.post(url, data=read_data) read_data['addtime'] = 91 end = session.post(url, data=read_data)
def bark(flag, message=None): bark_url = '' global text1, text2 if flag: text1 = '{}刷分成功/'.format(time.strftime("%Y-%m-%d", time.localtime())) text2 = '返回信息:{}'.format(message) else: text1 = '{}刷分失败了快去看看/'.format(time.strftime("%Y-%m-%d", time.localtime())) text2 = '快看看' requests.post(bark_url + '/' + text1 + text2)
key_list = open('num.txt', 'r') for key in key_list: try: flag, info = get_info() if not flag: raise Exception("登录失败 请验证key") print("{}同学您好,您目前的积分为:{}".format(info['name'], info['total'])) signin() print('已完成签到') for i in range(15): train() print('已完成每日一题') read() print('已完成阅读') print('已完成匹配') flag, info = get_info() string = "{}同学您好,今日获得:{} 总积分:{}".format(info['name'],info['today'], info['total']) print(string) except Exception as e: print(e)
|