叮咚抢菜-派送时段监听及推送工具🔧

简介: 叮咚抢菜-派送时段监听及推送工具🔧

前言


人在上海,居家一个月,感谢政府和公司时不时的“空投”,主食是不缺的,但是菜真的不够吃,于是这几天也开始加入了叮咚抢菜的大军,然而几天了一次都抢不到;

昨晚上无意中打开叮咚买菜,发现竟然有个时间段可以派送,抓紧买了一袋馄炖皮(别的几乎都卖完了),这个事情提醒了我,叮咚买菜的可派送时间段(运力)是动态变化的,那么我只要写一段程序,监听其变化,在有空余的派送资源时候提醒下我,然后在手动去下单,理论上应该可以买到菜;

今早上 6 点 再一次抢菜失败后,我忍不住了,爬起来开始实践这个半自动外挂的想法。


获取叮咚买菜的 api


我只需要获取可派送时间段这一个 api 就好了,我是 iphone 手机,所以需要找一个合适的抓包工具,我使用 stream 来替代 pc上的fiddle, 有几个注意点:

1、默认安装后是无法抓取 https 类型的,需要在设置里进行相关配置:

如果您要抓取 HTTPS 的请求,需要先启动抓包,然后安装 CA 证书后,去设置-通用-关于-证书信任设置 里信任 CA,才可以查看请求的内容。


1687779297795.png


2、叮咚买菜 App 里面是无法抓取 maicai.api.ddxq.mobi 此域名下的接口的,需要抓包小程序的版本。

然后我顺利的拿到了此接口,url: 'https://maicai.api.ddxq.mobi/order/getMultiReserveTime', stream 提供了 curl 的拷贝,将其导入到 postman 中,验证了是可正常返回结果的,然后将curl 的格式进行转换为 node request 的版本。


1687779290043.png


搭建 node 项目


新建一个git 仓库,将我们的代码放进去,通过node 环境执行一下,然后会发现控制台的console 是乱码的,这个问题经过排查是由于一个 header 配置 Accept-Encoding: 'gzip, deflate, br'导致的,gzip压缩会导致乱码,我将其删掉,再次验证结果就正常了。

然后写一个轮询函数,定时来查询此接口,然后对响应数据进行解析,当发现可派送时间段有空余的时候,提示到我,消息提示我用的 Bark 这个ios 系统下的开源工具。


消息推送


使用 Bark 来实现消息推送到我的 iphone 手机,Bark是一个开发者的专属推送工具,免费、稳定,在 appleStore 中下载 bark 应用后,打开将生成专属 BarkId,如图,复制链接,通过 get post 等形式都可以触发消息推送事件。


1687779283028.png


成果展示


1687779267765.png

1687779275027.png


总结


希望能通过这个小程序能早点买到菜吧,我真的太难了。

--更新4th:增加支持 美团买菜运力监控。

--更新3th:为避免风险,暂不做下单了,有兴趣的,自行获取代码研究吧。

--更新2th:自动下单 Api 正在测试中,请关注。

--更新1th: 程序执行2小时后,第一次抢到菜。

目录
相关文章
|
7月前
|
Linux API 开发者
调用GrayLog的RestAPI接口实现定时关闭和定时开启告警
调用GrayLog的RestAPI接口实现定时关闭和定时开启告警
125 0
|
SQL JSON Prometheus
14-TDengine安装报警模块实现报警监测Webhook回调与邮件推送
14-TDengine安装报警模块实现报警监测Webhook回调与邮件推送
612 0
14-TDengine安装报警模块实现报警监测Webhook回调与邮件推送
|
运维 Linux Go
grafana 8.x配置日报定时发送配置及踩坑经过
grafana 8.x配置日报定时发送配置及踩坑经过
1314 0
grafana 8.x配置日报定时发送配置及踩坑经过
|
7月前
|
监控 JavaScript API
局域网监控软件的实时通知系统:利用Node.js和WebSocket实现即时消息推送
本文介绍了如何使用Node.js和WebSocket构建局域网监控软件的实时通知系统。实时通知对于网络安全和家庭监控至关重要,能即时发送监控数据变化的通知,提高响应速度。通过Node.js创建WebSocket服务器,当数据变化时,监控软件发送消息至服务器,服务器随即推送给客户端。此外,还展示了如何利用Node.js编写API,自动将监控数据提交到网站,便于用户查看历史记录,从而提升监控体验。
193 3
|
7月前
如何定时打开网站
该内容是一个教程,介绍如何使用一个工具设置定时任务自动打开网页。用户需要从度娘网盘或蓝奏云下载工具,提取码分别为qwu2和2r1z。然后在工具中按Ctrl+3进入定时器模块,新建任务命名为“百度”,设置每1分钟执行一次,打开百度网站。通过右键添加链接并输入百度网址,完成设置后,倒计时任务会在主界面显示,计时结束会自动打开百度。
|
数据采集 监控 Linux
一日一技:不用轮询,基于事件监控文件变动
一日一技:不用轮询,基于事件监控文件变动
133 0
|
前端开发 Java 应用服务中间件
基于websocket的实时通告功能,推送在线用户,新登录用户
SpringBoot 部署与Spring部署都有一些差别,但现在用Srpingboot的公司多,SpringBoot创建项目快,所以使用该方式来讲解,有一个问题就是开发WebSocket时发现无法通过@Autowired注入bean,一直为空。
502 0
基于websocket的实时通告功能,推送在线用户,新登录用户
|
测试技术
自动定时发送每日构建测试报告
自动定时发送每日构建测试报告
157 1
|
调度 Windows 数据采集
定时从列表中爬今日通知信息,打包成windows服务
场景模拟 每天8点爬取今日发布的新闻和通知公告,将爬取后的信息保存到Excel文件中,将程序发布成windows服务,开机即可自动启动。 技术使用 1.每天8点定时执行任务,使用Quartz.
1119 0