<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          寫了個(gè)叮咚搶菜插件

          共 1375字,需瀏覽 3分鐘

           ·

          2022-04-15 23:24

          前言

          人在上海,居家一個(gè)月,感謝政府和公司時(shí)不時(shí)的“空投”,主食是不缺的,但是菜真的不夠吃,于是這幾天也開始加入了叮咚搶菜的大軍,然而幾天了一次都搶不到;

          昨晚上無(wú)意中打開叮咚買菜,發(fā)現(xiàn)竟然有個(gè)時(shí)間段可以派送,抓緊買了一袋餛燉皮(別的幾乎都賣完了),這個(gè)事情提醒了我,叮咚買菜的可派送時(shí)間段(運(yùn)力)是動(dòng)態(tài)變化的,那么我只要寫一段程序,監(jiān)聽其變化,在有空余的派送資源時(shí)候提醒下我,然后在手動(dòng)去下單,理論上應(yīng)該可以買到菜;

          今早上 6 點(diǎn) 再一次搶菜失敗后,我忍不住了,爬起來(lái)開始實(shí)踐這個(gè)半自動(dòng)外掛的想法。

          獲取叮咚買菜的 api

          我只需要獲取可派送時(shí)間段這一個(gè) api 就好了,我是 iphone 手機(jī),所以需要找一個(gè)合適的抓包工具,我使用 stream 來(lái)替代 pc上的fiddle, 有幾個(gè)注意點(diǎn):

          1、默認(rèn)安裝后是無(wú)法抓取 https 類型的,需要在設(shè)置里進(jìn)行相關(guān)配置:

          如果您要抓取 HTTPS 的請(qǐng)求,需要先啟動(dòng)抓包,然后安裝 CA 證書后,去設(shè)置-通用-關(guān)于-證書信任設(shè)置 里信任 CA,才可以查看請(qǐng)求的內(nèi)容。

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

          然后我順利的拿到了此接口,url: 'https://maicai.api.ddxq.mobi/order/getMultiReserveTime', stream 提供了 curl 的拷貝,將其導(dǎo)入到 postman 中,驗(yàn)證了是可正常返回結(jié)果的,然后將curl 的格式進(jìn)行轉(zhuǎn)換為 node request 的版本。

          搭建 node 項(xiàng)目

          新建一個(gè)git 倉(cāng)庫(kù),將我們的代碼放進(jìn)去,通過node 環(huán)境執(zhí)行一下,然后會(huì)發(fā)現(xiàn)控制臺(tái)的console 是亂碼的,這個(gè)問題經(jīng)過排查是由于一個(gè) header 配置 Accept-Encoding: 'gzip, deflate, br'導(dǎo)致的,gzip壓縮會(huì)導(dǎo)致亂碼,我將其刪掉,再次驗(yàn)證結(jié)果就正常了。

          然后寫一個(gè)輪詢函數(shù),定時(shí)來(lái)查詢此接口,然后對(duì)響應(yīng)數(shù)據(jù)進(jìn)行解析,當(dāng)發(fā)現(xiàn)可派送時(shí)間段有空余的時(shí)候,提示到我,消息提示我用的 Bark 這個(gè)ios 系統(tǒng)下的開源工具。

          消息推送

          使用 Bark 來(lái)實(shí)現(xiàn)消息推送到我的 iphone 手機(jī),Bark是一個(gè)開發(fā)者的專屬推送工具,免費(fèi)、穩(wěn)定,在 appleStore 中下載 bark 應(yīng)用后,打開將生成專屬 BarkId,如圖,復(fù)制鏈接,通過 get post 等形式都可以觸發(fā)消息推送事件。

          成果展示

          總結(jié)

          希望能通過這個(gè)小程序能早點(diǎn)買到菜吧,我真的太難了。

          -- 更新3:為避免風(fēng)險(xiǎn),不做下單了。。,有興趣的自行獲取 github 代碼 研究(煩請(qǐng)點(diǎn)個(gè) star)

          --更新2:自動(dòng)下單 Api 正在測(cè)試中,請(qǐng)關(guān)注。

          --更新1:程序執(zhí)行2小時(shí)后,第一次搶到菜。


          本文只是個(gè)人技術(shù)分享,請(qǐng)任何人不要用于商業(yè)用途,若有任何侵權(quán)問題,請(qǐng)聯(lián)系本人刪除。

          覺得有幫助請(qǐng)給個(gè) star 吧!github 程序源碼 https://github.com/mingjiezhou/dingdong-tools

          作者:周明杰

          轉(zhuǎn)載自:https://www.cnblogs.com/zhoumingjie/p/16132276.html


          瀏覽 107
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  五级 黄 色 片 | 欧美人妻综合 | 一级欧美一级日韩片段 | 亚洲成人性爱av 亚洲成人综合日本 | 欧美22p|