本文首发于公众号 极客枫哥 ,日更分享各种好玩的软件、编程知识和个人成长故事
最近带娃去商场的游乐园玩的比较多,结束后一般会选择去吃绿茶,发现绿茶其实可以通过签到领取满减券。
但是如果让我每天来手动操作显然是很低效的,本文就带大家一起来看看如何逆向小程序的 api 并且编写对应的脚本,放到服务器上每天自动执行。
准备工具
- charles 抓包工具,也可以使用 fiddler 等其他工具
- 有一台服务器
接口逆向
话不多说,直接开干
首先我们打开 charles
,接着在微信中打开绿茶餐厅的小程序,进入签到页面
点击 charles
中的那个黄扫把,清空已经抓取到的请求,然后点击 立即签到
然后我们就能很清晰的看到发起了哪些请求了

看接口名字也不难发现,这个 sign
请求就是对应的签到。可以再二次确认下,我们可以直接右键选择 Repeat
再次执行该请求,查看响应内容如下
好了,目标请求找到了,我们直接右键选择 Copy cURL Request
,然后直接扔给 chatgpt
,让它帮我们写一段 python
脚本

把生成的脚本复制保存到本地的 sign.py
文件中,尝试中本地直接执行一下看看

也没有什么问题,第一步就完成了
定时执行
第二步就是希望每天能够自动执行这个 python
脚本,最简单的方式就是直接使用 cron
定时任务,这里我们为了便于管理,可以使用青龙面板。
首先中服务器上安装青龙面板,安装的步骤也很简单,创建一个 qinglong
目录,然后新建 docker-compose.yml
文件,内容如下:
yaml
services:
web:
image: whyour/qinglong:latest
volumes:
- ./data:/ql/data
ports:
- "5700:5700"
environment:
QlBaseUrl: '/' # 部署路径非必须,以斜杠开头和结尾,比如 /test/
restart: unless-stopped
然后启动容器
bash
docker compose up -d
到服务器安全组中开放 5700 端口或者直接使用 nginx 配置域名都可以,然后访问
进入依赖管理给 python3
添加 requests
库的依赖

然后进入到 脚本管理
菜单,添加 lvcha-sign.py
脚本,内容直接从 chatgpt
中复制下来即可

最后我们到 定时任务
菜单,新建一个任务,内容如下

任务新建完成后,也可以点击操作栏的运行按钮来测试一下,是否可以运行成功

测试通过了,这样操作完成后,每天的 0 点这个脚本就会自动运行了。
除了自己编写脚本外,在 github 上还有很多别人已经写好的脚本,可以直接订阅拿过来使用
面板也支持任务执行完成后利用钉钉、企微、邮件等多种形式进行通知,就不再这里展开了,大家有兴趣的可以自行探索。