拒绝社区团购,高价菜!

这里介绍2个脚本:

  1. 叮咚买菜抢菜脚本
  2. 叮咚买菜运力检测脚本

叮咚买菜抢菜脚本

使用条件

  1. 需要在凌晨0-6点期间添加你的抢购订单
  2. 推荐在凌晨5点多添加你的抢购订单,这个时间段菜品上架比较多了
  3. 不用担心添加的物品缺货,叮咚会自动移除缺货物品
  4. 不保证100%的抢购成功率
  5. 叮咚更新可能导致抢购方法失效

抢购原理

  1. 在凌晨0-6点期间可以尝试下单,这时候可以通过抓包工具抓取请求信息
  2. 将请求信息添加到脚本中,在凌晨6点开放购买时开始刷这个下单请求
  3. 下单成功后通过pushplus工具发送下单成功通知,需要手动支付

操作步骤

通过Charlse抓取下单请求

此步骤的操作时间为凌晨0-6点

在手机上配置好Charlse的代理,以及SSL证书

打开叮咚买菜小程序,点击立即支付按钮,此时手机上会提示未开放购买,但是Charlse中已抓取到下单请求,如下图,点击Copy cURL Request,将复制的内容保存到下单请求文件dingdong.txt

配置脚本

脚本内容如下,保存到文件dingdong.sh,注意事项

  1. 填写下面的pushplus token,不填也行
  2. 服务器上需要安装jq命令,centos安装命令:yum install -y jq
  3. order_list为上一步dingdong.txt的文件路径
#!/bin/bash

order_list=/tmp/dingdong.txt
order_array=()
# 抢购间隔,秒
sleep_time=0.3
# 抢购总持续时间,分钟
duration=20
# pushplus token,获取地址:http://pushplus.hxtrip.com
pushplus_token=

start_ts=`date +%s`
while true; do
    echo "====== 开始下单 ======"
    i=0
    while read line; do
        [ -z "${line}" ] && continue
        if [ "${order_array[$i]}" = "ok" ]; then
            echo "第$[i+1]行已下单成功!跳过..."
            i=$[i+1]
            continue
        fi
        res=`eval "${line}" 2> /dev/null`
        success=`echo "${res}" | jq '.success'`
        if [ "${success}" = "true" ]; then 
            echo "第$[i+1]行下单成功!"
         order_array[$i]=ok
            if [ -n "${pushplus_token}" ]; then
              curl -# "http://pushplus.hxtrip.com/send?token=${pushplus_token}&title=%E5%8F%AE%E5%92%9A%E4%B9%B0%E8%8F%9C&content=%E4%B8%8B%E5%8D%95%E6%88%90%E5%8A%9F&template=html" &> /dev/null
            fi
        else
            msg=`echo "${res}" | jq '.msg'`
            echo "第$[i+1]行下单失败!错误信息:${msg}"
        fi
        i=$[i+1]
    done < ${order_list}
    echo "====== 下单结束 ======"
    # 全部下单完成后退出
    if [ "${#order_array[@]}" = "${i}" ]; then
        echo "全部下单完成!结束程序..."
        exit 0
    fi
    # 超时退出
    end_ts=`date +%s`
    if [ $[(end_ts-start_ts)/60] -ge ${duration} ]; then
        echo "超过${duration}分钟,退出程序..."
        exit 0
    fi
    echo "等待${sleep_time}秒后重试..."
    echo
    sleep ${sleep_time}
done

文件上传到服务器,添加定时任务

将脚本dingdong.sh和dingdong.txt上传到服务器的/tmp目录,执行命令

chmod +x /tmp/dingdong.sh

使用crontab在5:59定时执行

59 5 * * * nohup /tmp/dingdong.sh &> /tmp/dingdong.log &
10 6 * * * killall dingdong.sh

可以执行脚本测试一下功能是否正常

/tmp/dingdong.sh

此时只需要等到凌晨6点查看叮咚买菜订单,如果下单成功会有待支付的订单,需要手动支付

下单成功

Q&A

如何添加多个订单

添加多个抓包请求到文件dingdong.txt即可,一行一个请求

叮咚买菜运力检测脚本检测脚本

todo

最后修改:2022 年 05 月 07 日
如果觉得我的文章对你有用,请我喝杯咖啡吧☕️~