java編程幾行代碼實(shí)現(xiàn)買(mǎi)菜自由
前言
請(qǐng)?jiān)试S我標(biāo)題夸張一下,其實(shí)并不是真正買(mǎi)菜自由,我想買(mǎi)什么買(mǎi)什么,只不過(guò)通過(guò)代碼來(lái)代替自己做一些事情。
博主人在上海,這邊什么情況大家也都清楚,所以買(mǎi)菜就是生 gou 存 huo 的首要條件。
之前每天抱著手機(jī)刷叮咚,熬夜早起搶菜,大多數(shù)都是無(wú)用功,你根本搶不到。直到大奇分享了我一個(gè)程序,搶菜問(wèn)題算是解決了。
但是這一切都有一個(gè)很重要的前提,你的購(gòu)物車(chē)?yán)锸紫鹊糜胸?T_T 。
我知道叮咚每天不定時(shí)會(huì)有一些東西放出來(lái)可以撿漏,但是我又不想經(jīng)常抱著刷機(jī),咋辦?當(dāng)然是求助于代碼了。
實(shí)現(xiàn)思路
思路就很簡(jiǎn)單,兩步走:
- 抓包,分析目標(biāo)接口。
- 代碼調(diào)用接口。
抓包
我是window10系統(tǒng),用的 fiddler 進(jìn)行抓包,這里可以直接打開(kāi)微信PC版上的叮咚小程序進(jìn)行抓包,很方便。
據(jù)我手動(dòng)操作時(shí)候觀察,在首頁(yè)分類(lèi)的下方列表會(huì)出現(xiàn)一些可以撿漏的商品。因?yàn)檎军c(diǎn)處于上海,所以這個(gè)列表商品數(shù)量很少,那就它了。

接口路徑是/search/rankingList,也想試試的童鞋就不用自己再去找了。
接著就是分析接口,拿到請(qǐng)求入?yún)?,?qǐng)求頭,響應(yīng)體,這里就不作贅述了。
編碼
編碼的話,我就直接在搶菜的程序上新增了,因?yàn)橹暗拇a里已經(jīng)做好了一些請(qǐng)求頭固定參數(shù)的配置了。實(shí)際上你怎么寫(xiě)都行,只要可以模擬請(qǐng)求就好。
程序的實(shí)現(xiàn),我的需求大概是這樣:
- 可以定時(shí)的去請(qǐng)求接口。
- 我入?yún)⑹莻€(gè)列表,里面是我需要的商品名稱(chēng)。
- 當(dāng)接口里存在我的商品的時(shí)候,播放一分鐘鈴聲提醒我。
- 一些其他的異常處理。
代碼很簡(jiǎn)單,這里使用 hutool 里提供的庫(kù)去發(fā)起 http 請(qǐng)求。

我在接口的返回里一直拿到list這個(gè)節(jié)點(diǎn),這里面都是商品。然后簡(jiǎn)單粗暴轉(zhuǎn)為字符串,再遍歷我的目標(biāo)商品,看看是否存在,存在就播放一分鐘鈴聲,返回true。
接下來(lái)再另一個(gè)類(lèi),main 方法里調(diào)用上面的方法。

這里我們千萬(wàn)不要暴力調(diào)用叮咚的接口,所以我設(shè)置了等待時(shí)間,間隔時(shí)間在 30s 到 60s 之間,最后運(yùn)行程序即可。
作為一名測(cè)試猿,自己寫(xiě)的程序還是要測(cè)試一番的,調(diào)試各種情況沒(méi)問(wèn)題后就跑起來(lái)吧。

好吧,一邊水文一邊等待我的鈴聲響起。。。
希望疫情早點(diǎn)結(jié)束,回歸正常生活。
以上就是java編程幾行代碼實(shí)現(xiàn)買(mǎi)菜自由的詳細(xì)內(nèi)容,更多關(guān)于java編程買(mǎi)菜的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Lombok的@CustomLog流暢的公司多場(chǎng)景日志
這篇文章主要為大家介紹了Lombok的@CustomLog流暢的公司多場(chǎng)景日志開(kāi)發(fā)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
Java OpenCV4.0.0實(shí)現(xiàn)實(shí)時(shí)人臉識(shí)別
這篇文章主要為大家詳細(xì)介紹了Java OpenCV4.0.0實(shí)現(xiàn)實(shí)時(shí)人臉識(shí)別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07
JAVA Comparator 和 Comparable接口使用方法
本文介紹了Java中Comparable和Comparator接口的使用,包括它們的定義、方法和應(yīng)用場(chǎng)景,Comparable用于定義類(lèi)的自然排序規(guī)則,而Comparator提供了一種靈活的方式來(lái)定義對(duì)象之間的排序規(guī)則,無(wú)需修改類(lèi)本身,感興趣的朋友一起看看吧2025-03-03
Java中的定時(shí)任務(wù)調(diào)度Quartz舉例詳解
這篇文章主要介紹了Java中的定時(shí)任務(wù)調(diào)度Quartz的相關(guān)資料,Quartz是Java平臺(tái)上的一個(gè)強(qiáng)大且靈活的任務(wù)調(diào)度庫(kù),廣泛應(yīng)用于企業(yè)級(jí)應(yīng)用中,本文介紹了Quartz的基本概念、核心組件、使用步驟和示例,幫助你更好地利用Quartz進(jìn)行定時(shí)任務(wù)調(diào)度,需要的朋友可以參考下2024-12-12

