java编程几行代码实现买菜自由
目录
- 前言
- 实现思路
- 抓包
- 编码
前言
请允许我标题夸张一下,其实并不是真正买菜自由,我想买什么买什么,只不过通过代码来代替自己做一些事情。
博主人在上海,这边什么情况大家也都清楚,所以买菜就是生 gou 存 huo 的首要条件。
之前每天抱着手机刷叮咚,熬夜早起抢菜,大多数都是无用功,你根本抢不到。直到大奇分享了我一个程序,抢菜问题算是解决了。
但是这一切都有一个很重要的前提,你的购物车里首先得有货 T_T 。
我知道叮咚每天不定时会有一些东西放出来可以捡漏,但是我又不想经常抱着刷机,咋办?当然是求助于代码了。
实现思路
思路就很简单,两步走:
- 抓包,分析目标接口。
- 代码调用接口。
抓包
我是window10系统,用的 fiddler 进行抓包,这里可以直接打开微信PC版上的叮咚小程序进行抓包,很方便。
据我手动操作时候观察,在首页分类的下方列表会出现一些可以捡漏的商品。因为站点处于上海,所以这个列表商品数量很少,那就它了。
接口路径是/search/rankingList
,也想试试的童鞋就不用自己再去找了。
接着就是分析接口,拿到请求入参,请求头,响应体,这里就不作赘述了。
编码
编码的话,我就直接在抢菜的程序上新增了,因为之前的代码里已经做好了一些请求头固定参数的配置了。实际上你怎么写都行,只要可以模拟请求就好。
程序的实现,我的需求大概是这样:
- 可以定时的去请求接口。
- 我入参是个列表,里面是我需要的商品名称。
- 当接口里存在我的商品的时候,播放一分钟铃声提醒我。
- 一些其他的异常处理。
代码很简单,这里使用 hutool 里提供的库去发起 http 请求。
我在接口的返回里一直拿到list
这个节点,这里面都是商品。然后简单粗暴转为字符串,再遍历我的目标商品,看看是否存在,存在就播放一分钟铃声,返回true
。
接下来再另一个类,main 方法里调用上面的方法。
这里我们千万不要暴力调用叮咚的接口,所以我设置了等待时间,间隔时间在 30s 到 60s 之间,最后运行程序即可。
作为一名测试猿,自己写的程序还是要测试一番的,调试各种情况没问题后就跑起来吧。
好吧,一边水文一边等待我的铃声响起。。。
希望疫情早点结束,回归正常生活。
以上就是java编程几行代码实现买菜自由的详细内容,更多关于java编程买菜的资料请关注我们其它相关文章!
相关推荐
-
Java实战之校园外卖点餐系统的实现
目录 一.项目简述 二.效果图展示 三.核心代码 管理员controller控制层 管理员角色controler控制层 后台登录控制层 订单模块controller控制层 一.项目简述 环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持) 项目技术: JSP +Spring + SpringMVC + MyBatis + css + JavaScript + JQuery + Ajax
-
java实现简易外卖订餐系统
用java实现简易外卖订餐系统,供大家参考,具体内容如下 一.使用技术 javaSE 二.实现功能 外卖订餐系统 具体要求如下: 使用选择结构,循环结构,数组的知识实现一个外卖订餐系统 三.运行效果图 1.订餐功能 2.查看餐袋 3.签收订单 4.删除订单 5.点赞 6.退出 代码实现 public class Order { public static void main(String[] args) { int zero = 1; int x = 0;//订单数组下标 String[] na
-
java实现饭店点菜系统
本文实例为大家分享了java实现饭店点菜系统的具体代码,供大家参考,具体内容如下 JAVA实现饭店点菜系统 在这个暑假,我会将一些网络上比较经典的java编程练习题. 做一做,发布到博客来.是对我自己学习的监督,也是为了方便大家借鉴学习交流.大家一起共同进步. 这个点菜系统,和我之前Java课程设计中的小学生数学练习有点像.不过少了文件操作,相对比较简单. 我实现的效果 如图 最重要的 还是面向对象的思想,我们要理解并使用. 1.在点菜系统中,我们为了方便 饭店添加菜谱 ,我们要使用一个list
-
java实现简单的小超市程序
本文实例为大家分享了java实现小超市程序的具体代码,供大家参考,具体内容如下 一.人物包 1.顾客类 package person; public class Customer { public String name; public double money; public boolean isDrivingCar; } 二.超市包 1.小超市类 package supermarket; public class LittleSuperMarket { public String super
-
java编程几行代码实现买菜自由
目录 前言 实现思路 抓包 编码 前言 请允许我标题夸张一下,其实并不是真正买菜自由,我想买什么买什么,只不过通过代码来代替自己做一些事情. 博主人在上海,这边什么情况大家也都清楚,所以买菜就是生 gou 存 huo 的首要条件. 之前每天抱着手机刷叮咚,熬夜早起抢菜,大多数都是无用功,你根本抢不到.直到大奇分享了我一个程序,抢菜问题算是解决了. 但是这一切都有一个很重要的前提,你的购物车里首先得有货 T_T . 我知道叮咚每天不定时会有一些东西放出来可以捡漏,但是我又不想经常抱着刷机,咋办?当
-
Java编程异常简单代码示例
练习1 写一个方法void triangle(int a,int b,int c),判断三个参数是否能构成一个三角形.如果不能则抛出异常IllegalArgumentException,显示异常信息:a,b,c "不能构成三角形":如果可以构成则显示三角形三个边长.在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常. 两边之和大于第三边:a+b>c 两边之差小于第三边:c-a package 异常; import java.util.Arrays; import java
-
java编程队列数据结构代码示例
队列是一种特殊的线性表,只允许在表的前端进行删除,在表的后端进行插入,表的前端称为(front)队头,表的后端称为(rear)队尾. 所以队列跟生活的场景很是相似,在电影院买电影票,人们排成一排,第一个人进入队尾最先到达队头后买票进入影院,后面排队的人按照排队的次序买到票后进入影院. 所以 队列是一种先进先出的数据结构(FIFO). 编程实现对循环链队列的入队和出队操作. ⑴根据输入的队列长度n和各元素值建立一个带头结点的循环链表表示的队列(循环链队列),并且只设一个尾指针来指向尾结点,然后输出
-
Java编程泛型限定代码分享
泛型 一般 出现在集合中,迭代器中 也会出现! 泛型 是为了 提高代码的 安全性. 泛型 确保数据类型的唯一性. 在我们常用的容器中, 越是单一越好处理啊! 泛型的限定: ? 是通配符 指代 任意类型 泛型的限定上限: <? extends E> 接受 E 或者 E 的子类型. 泛型的限定下限: <? super E> 接收 E 或者 E 的父类. 泛型的限定上限 (定义父类 填装子类 类型!) 下面我们看看具体代码示例 package newFeatures8; imp
-
Java编程复用类代码详解
本文研究的主要是Java编程中的复用类,那么到底复用类是什么东西,又有什么用法,下面具体介绍. 看了老罗罗升阳的专访,情不自禁地佩服,很年轻,我之前以为和罗永浩一个级别的年龄,也是见过的不是初高中编程的一位大牛之一,专访之后,发现老罗也是一步一个脚印的人.别说什么难做,做不了,你根本就没去尝试,也没有去坚持. If you can't fly then run,if you can't run then walk, if you can't walk then crawl,but whateve
-
Java编程Nashorn实例代码
本文研究的主要是Java编程Nashorn的相关内容,具体如下. Nashorn是什么 Nashorn,发音"nass-horn",是德国二战时一个坦克的命名,同时也是java8新一代的javascript引擎--替代老旧,缓慢的Rhino,符合 ECMAScript-262 5.1 版语言规范.你可能想javascript是运行在web浏览器,提供对html各种dom操作,但是Nashorn不支持浏览器DOM的对象.这个需要注意的一个点. 之前学习Java8的时候恰好写了个简单的例子
-
Java用20行代码实现抖音小视频批量转换为gif动态图
本文主要介绍了Java用20行代码实现抖音小视频批量转换为gif动态图,分享给大家,具体如下: 效果图 本功能实现需要用到第三方jar包 jave,JAVE 是java调用FFmpeg的封装工具. spring boot项目pom文件中添加以下依赖 <!-- https://mvnrepository.com/artifact/ws.schild/jave-core --> <dependency> <groupId>ws.schild</groupId>
-
Java编程接口调用的作用及代码分享
很多JAVA初级程序员对于接口存在的意义很疑惑.不知道接口到底是有什么作用,为什么要定义接口. 好像定义接口是提前做了个多余的工作.下面我给大家总结了4点关于JAVA中接口存在的意义: 1.重要性:在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制.正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力. 2.简单.规范性:如果一个项目比较庞大,那么就需要一个能理清所有业务的架构师来定义一些主要的接口,这些接口不仅告诉开发人员你需要实现那些
-
Java编程中的4种代码块详解
在Java编程中,代码块就是指用"{}"括起来的代码.下面看一下这四种代码块. 1.普通代码块 就是指类中方法的方法体. public void xxx(){ //code } 2.构造块 下面用"{}"括起来的代码片段,构造块在创建对象时会被调用,每次创建对象时都会被调用,并且优先于类构造函数(包括有参和无参的)执行. 构造块中定义的变量是局部变量. public class Client { {//构造代码块 System.out.println("执
-
java实现队列数据结构代码详解
什么是队列结构 一种线性结构,具有特殊的运算法则[只能在一端(队头)删除,在另一端(队尾)插入]. 分类: 顺序队列结构 链式队列结构 基本操作: 入队列 出队列 给出一些应用队列的场景 1):当作业被送到打印机的时候,就可以按到达的顺序排起来,因此每一份作业是队列的节点. 2):售票口的人买票的顺序的按照先来先买的顺序售票. 3):当所有的终端被占用,由于资源有限,来访请求需要放在一个队列中等候. 队列是先进先出的! 我们设置一个叫做LinkQueue<T>的泛型集合类,该类里面有 Node
随机推荐
- Ajax如何进行跨域请求?Ajax跨域请求的原理
- PowerShell小技巧之使用Verb打开程序
- phpredis提高消息队列的实时性方法(推荐)
- PHP多用户博客系统分析[想做多用户博客的朋友,需要了解]第1/3页
- 解析Java虚拟机中类的初始化及加载器的父委托机制
- 微信小程序(四)应用生命周期详解
- C#串口通信实现方法
- 使用bootstrap validator的remote验证代码经验分享(推荐)
- 关于linux分区,文件系统,目录结构的概述
- SQL分页查询方式汇总
- 用jquery实现输入框获取焦点消失文字
- ubuntu lamp(apache+mysql+php) 环境搭建及相关扩展更新
- JS实现touch 点击滑动轮播实例代码
- 详解使用Next.js构建服务端渲染应用
- Vue瀑布流插件的使用示例
- ES6数组与对象的解构赋值详解
- python将字母转化为数字实例方法
- Java线程操作的常见方法【线程名称获取、设置、线程启动判断等】
- 为什么Go语言把类型声明放在后面?
- iOS 生成plist文件,在项目中代码创建plist的实例