记录python requests模块及请求重试
1、打开charles,手机连接charles代理,然后手机登陆微信(ylgy)小游戏,通过第一关,获取https://cat-match.easygame2021.com/sheep/v1/game/game_over接口的t值(为用户的token),替换__token,设置repeat_time运行即可
2、安装requests模块,其他模块为内置模块无需安装
pip install requests
#coding=utf-8
import requests
import math
import random
import json
class App:
#刷关次数(可修改)
repeat_time = 6
#失败重试次数
again_times = 3
#记录成功次数
success_num = 0
#换成自己的
__token ="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTQyMjcxNDEsIm5iZiI6MTY2MzEyNDk0MSwiaWF0IjoxNjYzMTIzMTQxLCJqdGkiOiJDTTpjYXRfbWF0Y2g6bHQxMjM0NTYiLCJvcGVuX2lkIjoiIiwidWlkIjoxNjEzNjI2OSwiZGVidWciOiIiLCJsYW5nIjoiIn0.hIDwOnwjDPDR4i9d4lrei3MSnz8ljWb6iwz0jcgTFjI"
#扬了扬了接口
__origin ='https://cat-match.easygame2021.com/sheep/v1/game/game_over'
#请求头
__headers = {
'Host': "cat-match.easygame2021.com",
"User-Agent":
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.33",
't': __token
}
#通关
def clearance(self):
time = math.ceil(random.random() * (3600 - 1 + 1))+1
url = "{origin}?rank_score=1&rank_state=1&rank_time={rank_time}&rank_role=1&skin=1".format(origin=self.__origin,rank_time=time)
res = requests.get(url=url, headers=self.__headers,timeout=(10, 5))
code = json.loads(res.text)['err_code']
if(code == 0):
self.success_num += 1
print('通关'+str(self.success_num)+'次')
else:
if(self.again_times>0):
self.again()
else:
self.again_times = 3
print('闯关失败')
#重试
def again(self):
self.again_times -= 1
print('重试')
self.clearance()
#疯狂刷刷刷
def repeatFun(self):
for i in range(self.repeat_time):
self.clearance()
print('程序结束')
if __name__ == "__main__":
app = App()
App().repeatFun()