import requests import json import threading import time postHeaders_model = { 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Origin': 'file://', 'Authorization': 'USERID ', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-HK,zh;q=0.9,en-US;q=0.8,en;q=0.7', 'Connection': 'keep-alive', 'Host': '', 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'User-Agent': 'Mozilla/5.0 (Linux; Android 9; SM-N9500 Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/75.0.3770.101 Mobile Safari/537.36 Html5Plus/1.0', 'X-Requested-With': 'io.dcloud.H5813571B' } balanceUrl = '' postUrl = '' loginUrl = '' gameTime = 5 #minutes threadState = {} #设置线程状态 class myThread(threading.Thread): def __init__(self, phone, pwd): threading.Thread.__init__(self) self.phone = phone self.pwd = pwd def run(self): print ("开始线程:" + self.phone) threadState[self.ident] = True try: vv_start(self.ident, self.phone, self.pwd) except: time.sleep(60) # 如果出错休息一分钟继续 self.run() print ("结束线程:" + self.phone) def stop(self): threadState[self.ident] = False while self.isAlive(): time.sleep(0.001) return 'stopped' def restart(self): if self.stop() == 'stopped' : self.run() def vv_login(phone,pwd,loginheaders,s): logindata = { 'Phone':phone,'Password':pwd } return json.loads(s.post(loginUrl,logindata,loginheaders).text)['data'] def vv_start(tid,phone,pwd): ID = {'Id': 1} s = requests.Session() times = 0 postHeaders[phone] = dict(postHeaders_model) postHeaders[phone]['Authorization'] = 'USERID ' + vv_login(phone,pwd,postHeaders_model,s) res = json.loads(s.post(postUrl,data=ID,headers=postHeaders[phone]).text) while res and threadState[tid]: strPhone = phone[0:3] + '****' + phone[7:11] if res['status'] == 1 or res['status'] == 10003 : times += 1 time.sleep(gameTime * 60 * 0.05) vv_balance = json.loads(s.post(balanceUrl,headers = { 'Host': '', 'Connection': 'keep-alive', 'Content-Length': '0', 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Origin': 'file://', 'User-Agent': 'Mozilla/5.0 (Linux; Android 9; SM-N9500 Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/75.0.3770.101 Mobile Safari/537.36 Html5Plus/1.0', 'Authorization': postHeaders[phone]['Authorization'], 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-HK,zh;q=0.9,en-US;q=0.8,en;q=0.7', 'X-Requested-With': 'io.dcloud.H5813571B', }).text)['data'][0]['Money'] showMoney(phone,vv_balance) print('[' + strPhone + ']' + res['message'] + '(' + str(times) + ') ') time.sleep(gameTime * 60 * (1 - 0.05)) else : print('[' + strPhone + ']' + res['message'] + '正在重新登录...') postHeaders[phone]['Authorization'] = 'USERID ' + vv_login(phone,pwd,postHeaders_model,s) res = json.loads(s.post(postUrl,data=ID,headers=postHeaders[phone]).text) def showMoney(p,m): if moneys[p] == m: return sum = 0 moneys[p] = m for m in moneys: sum += moneys[m] print('-' * 25 + "当前总额为:" + str(sum) + ' SVVC' + '-' * 25) postHeaders = {} members = [ ] moneys = {} for m in members: moneys[m[0]] = 0 myThread(m[0],m[1]).start() time.sleep(5)
浙公网安备 33010602011771号