几行代码,帮我实现买菜“自由”

简介: 几行代码,帮我实现买菜“自由”

请允许我标题夸张一下,其实并不是真正买菜自由,我想买什么买什么,只不过通过代码来代替自己做一些事情。


博主人在上海,这边什么情况大家也都清楚,所以买菜就是生 gou 存 huo 的首要条件。


之前每天抱着手机刷叮咚,熬夜早起抢菜,大多数都是无用功,你根本抢不到。直到大奇分享了我一个程序,抢菜问题算是解决了。


但是这一切都有一个很重要的前提,你的购物车里首先得有货 T_T 。


我知道叮咚每天不定时会有一些东西放出来可以捡漏,但是我又不想经常抱着刷机,咋办?当然是求助于代码了。


说干就干


思路就很简单,两步走:


  • 抓包,分析目标接口。
  • 代码调用接口。


抓包


我是window10系统,用的 fiddler 进行抓包,这里可以直接打开微信PC版上的叮咚小程序进行抓包,很方便。


据我手动操作时候观察,在首页分类的下方列表会出现一些可以捡漏的商品。因为站点处于上海,所以这个列表商品数量很少,那就它了。


1268169-20220422210820075-371261153.png


接口路径是/search/rankingList,也想试试的童鞋就不用自己再去找了。


接着就是分析接口,拿到请求入参,请求头,响应体,这里就不作赘述了。


编码


编码的话,我就直接在抢菜的程序上新增了,因为之前的代码里已经做好了一些请求头固定参数的配置了。实际上你怎么写都行,只要可以模拟请求就好。


程序的实现,我的需求大概是这样:


  • 可以定时的去请求接口。
  • 我入参是个列表,里面是我需要的商品名称。
  • 当接口里存在我的商品的时候,播放一分钟铃声提醒我。
  • 一些其他的异常处理。


代码很简单,这里使用 hutool 里提供的库去发起 http 请求。


1268169-20220422211755977-708006239.png


我在接口的返回里一直拿到list这个节点,这里面都是商品。然后简单粗暴转为字符串,再遍历我的目标商品,看看是否存在,存在就播放一分钟铃声,返回true


接下来再另一个类,main 方法里调用上面的方法。


1268169-20220422212129930-2089778905.png


这里我们千万不要暴力调用叮咚的接口,所以我设置了等待时间,间隔时间在 30s 到 60s 之间,最后运行程序即可。


作为一名测试猿,自己写的程序还是要测试一番的,调试各种情况没问题后就跑起来吧。


1268169-20220422212309256-924816229.png


好吧,一边水文一边等待我的铃声响起。。。


希望疫情早点结束,回归正常生活。

相关文章
|
2月前
|
设计模式 存储 算法
编程之舞:探索代码的节奏与和谐
【9月更文挑战第11天】在编程的世界里,每一行代码都像是音符,共同谱写一曲旋律。本文将通过深入浅出的方式,探讨如何把握编程的韵律,让代码不仅运行高效,而且结构美观。我们将一起走进代码的微观世界,学习如何通过清晰的逻辑和优雅的设计模式来提升我们的编码技巧。
|
存储 区块链
Jogger慢跑者/stepn跑鞋链游模式系统开发详细功能/案例项目/源码程序
区块链的核心技术之一就是公开且透明的交易信息。一般情况下,在区块链内产生、流转和存储的信息是对所有节点用户开放的,其高度的透明化也使得区块内的所有人都能够查看数据的所有相关信息同时使用其应用。因此,区块链技术在信息共享与数据交换领域具有一定的优势。
农场养成种树种植游戏系统开发案例详细丨dapp农场养成种植种树游戏系统开发规则玩法/设计案例/功能逻辑/源码部署
  农场养成种树游戏(Farm simulation tree planting game)是一类模拟农场生活的游戏。在这种游戏中,玩家扮演农场主或农民的角色,通过种植和护理树木,以及进行相关的农业活动,来管理和发展自己的农场。
|
存储 区块链
无聊猿大逃杀游戏卷轴模式系统开发逻辑步骤
区块链的去中心化,数据的防篡改,决定了智能合约更加适合于在区块链上来实现
|
Java 程序员 开发者
只用一行代码,你能玩出什么花样?
只用一行代码,你能玩出什么花样?
95 1
|
人工智能 IDE 算法
【周末闲谈】新的编程方式,程序员的未来何在?
【周末闲谈】新的编程方式,程序员的未来何在?
123 0
|
程序员 C语言 C++
电视剧里的代码真能运行吗?
虽然剧中说是“C语言期中考试”,但这位同学的代码名叫 draw2.py,一个典型的 Python 文件,再结合截图中的 pen.forward、pen.setpos 等方法来看,应该是用 turtle 海龟作图库来画爱心。
|
区块链 算法框架/工具 Android开发
Stepn跑鞋零撸项目开发详情丨Stepn跑鞋零撸项目系统开发(案例设计)及代码说明
简单说,智能合约是一种用计算机语言取代法律语言去记录条款的合约。智能合约可以由一个计算系统自动执行。可以理解为智能合约就是传统合约的数字化版本。
|
算法 安全 Java
农场养成种树游戏玩法及开发逻辑说明【详情】
农场养成种树是一种模拟游戏,让玩家扮演农场主或园艺师,在游戏中种植和护理各种树木
农场养成种树游戏开发逻辑源码解析
开发一个农场养成种树游戏可以为玩家提供种植和养护树木的体验,同时也可以学习有关农业和环境保护的知识。 以下是一个简单的农场养成种树游戏的开发源码demo,供参考: