# 养了个羊
>最近看养了个羊挺火的,大众人群安安份份通关,通关者寥寥无几,程序员这边有的用Java刷,有的用C#刷,有的用Php刷,真是八仙过海啊
---
@[TOC](文章目录)
---
# 前言
随笔写写Python 版本,可以看看学学,这样毫无游戏体验,没办法,玩啥游戏俺都没体验,王者农药写的auto.js还秒复活呢,玩了八年毒奶粉(DNF),结果玩了八年外挂,当时为了毒奶粉还去学汇编语言,E语言,哎,真是程序毁游戏,游戏毁程序猿,无聊的很
---
# 一、说下思路吧
>思路其实很简单,但是很重要,跟我微信刷步子一个思路
>获取数据➡修改数据➡上传服务器
>第一版:你登陆养了个羊,会有一个token,这是你的唯一标识码,说简单点,就是你身份证号,不可能重复,而且可以辨别你是谁,拿到这个token之后,然后对第一关的接口无线调用,就可以达到刷关的目的了。(第一关通关接口跟第二关通关接口,差别就在于改了一个数字,你把第二关的数字放在第一关的接口上就可以无限通关了)
>第二版:每次都是需要抓到token才可以刷关,一个初级程序员或许会抓包,但是普通人,他不懂抓包啊,所以有没有一种简单的方法来获取token,你登陆之后个人信息有个ID这个是唯一的跟token差不多,所以用抓包工具可以抓到生成token那个链接,两者有没有关系呢?结果发现那个链接里面拼了ID,哇!那就简单了,把用户的ID拼链接里面,token不就拿到了,然后有了这篇文章
# 二、老规矩,废话不多说,直接上代码
```python
import easygui
import requests
headers = {
"user-agent": "Mozilla/5.0 (Linux; Android 10; HD1910 Build/QKQ1.190716.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/86.0.4240.99 XWEB/4309 MMWEBSDK/20220303 Mobile Safari/537.36 MMWEBID/583 MicroMessenger/8.0.21.2120(0x280015F0) Process/appbrand1 WeChat/arm64 Weixin NetType/4G Language/zh_CN ABI/arm64 MiniProgramEnv/android"
}
# 获取基本信息
def user_info(uid):
url = "https://cat-match.easygame2021.com/sheep/v1/game/user_info?"
params = {
"uid": uid,
"t": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2OTQ0MDU0MjMsIm5iZiI6MTY2MzMwMzIyMywiaWF0IjoxNjYzMzAxNDIzLCJqdGkiOiJDTTpjYXRfbWF0Y2g6bHQxMjM0NTYiLCJvcGVuX2lkIjoiIiwidWlkIjoxMDg0MzMxMjgsImRlYnVnIjoiIiwibGFuZyI6IiJ9.oT1OY9XokZmHt1Hzifc8ILF1U-xQxY-itXNaeLj02R8"
}
res = requests.get(url, params=params).json()["data"]
return res
# 获取token
def get_token(uid):
user = user_info(uid)
url = "https://cat-match.easygame2021.com/sheep/v1/user/login_oppo"
data = {
"uid": user["wx_open_id"],
"nick_name": user["nick_name"],
"avatar": user["avatar"],
"sex": 1
}
res = requests.post(url, data=data, headers=headers).json()['data']['token']
return res
# 每日话题加入羊群
def join_sheep():
url = "https://cat-match.easygame2021.com/sheep/v1/game/topic_game_over?rank_score=1&rank_state=1&rank_time=1&rank_role=1&skin=1"
res = requests.get(url, headers=headers)
print(res.text)
# 刷通关次数
def game_over(num):
url = "https://cat-match.easygame2021.com/sheep/v1/game/game_over?rank_score=1&rank_state=1&rank_time=1&rank_role=1&skin=1"
for i in num:
res = requests.get(url, headers=headers)
if __name__ == '__main__':
t, num = easygui.multenterbox('养了个羊', '一蓑烟雨任平生',
fields=['这里输入你的个人信息中的id编号', '这里输入你要通关的次数'],
values=['', ''])
token = get_token(str(t)) # 填写你自己的uid
headers['t'] = token
join_sheep()
game_over(int(num))
```
>我是普通人,我没Python环境,我没编辑器,运行不了这段代码怎么搞?OK,我给你打成EXE包,你直接用电脑双击,这个会吗?(手机版本的一键刷,用小程序应该也可以搞,如果这游戏可以撑到下周末的话,搞个小程序,让你每天刷,这该死的游戏无聊的很)
---
# 总结
### 人生苦短 我用Python