红米手机抢购的js代码

针对红米手机抢购的 JS 代码攻略,我们需要先了解一下抢购的基本原理。

在红米手机抢购页面中,通过 JavaScript 设置定时器定时获取服务器时间,当服务器时间和系统时间一致时,弹出抢购按钮,此时用户点击按钮进行下一步操作。因此,我们需要找到获取服务器时间的 JS 代码,并通过模拟调用该代码来提前获取到服务器时间从而成功抢购。

以下是详细步骤:

步骤一:获取JS代码

在浏览器中打开红米手机的商品页面,按下 F12 键打开开发者工具,将鼠标悬浮在网络监视器上,然后刷新页面,选择“JS”选项卡,找到相应的 JS 文件,将文件内容复制到本地编辑器中,以备后续模拟调用使用。

步骤二:获取服务器时间

在抢购页面中,我们需要获取到服务器时间,以便确定何时触发抢购按钮的 JS 代码。具体获取服务器时间的 JS 代码如下:

function $Get(url) {
    var xmlhttp;
    if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
    } else {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.open("GET", url, false);
    xmlhttp.send();
    return xmlhttp.responseText;
}

function getTime() {
    var url = "https://api.m.jd.com/client.action?functionId=systemConfig&clientVersion=7.0.0&build=54338&client=android&d_brand=Xiaomi&d_model=hongmi%20note%204x&osVersion=5.1.1&screen=1280*720&partner=xiaomi001&deviceId=9e85bb208277acb1&sdkVersion=22&lang=zh_CN&area=2_2820_2821_0&st=1627945342584&sign=14d0c2af913662f9f87da96789ffeed7&sv=111&body=%7B%7D";
    var json = JSON.parse($Get(url));
    return json.time;
}

我们可以再新建一个 HTML 文件,将上述代码嵌入到 head 标签中。这里面的 getTime 函数返回的就是服务器时间,我们可以在 Console 中调用该函数并打印值。

示例:

console.log(getTime());

步骤三:模拟调用JS代码

完成第一步和第二步后,我们已经拿到了获取服务器时间的代码和服务器时间,接下来我们将模拟调用 JS 代码,以控制抢购按钮的显示时间。

示例1:

var start = function() {
    var end = "2021-08-20 18:00:00";//设定抢购结束时间
    var left = (new Date(end)) - (new Date(getTime())); //计算剩余时间
    if (left <= 0) { //如果剩余时间小于等于0,就点击下一步操作按钮
        document.querySelector(".next-btn").click(); // 下一步操作按钮的class属性视情况而定,此处仅做示例
    } else {
        console.log(left / 1000);
        setTimeout(start, 1000);
    }
}
start();

示例2:

function timeFunc() {
    var end = "2021-08-20 18:00:00";//设定抢购结束时间
    var left = (new Date(end)) - (new Date(getTime()));//计算剩余时间
    if (left <= 0) {// 如果剩余时间小于等于0,就点击下一步操作按钮
        document.querySelector('.btn-integral').click(); // 抢购按钮的class属性视情况而定,此处仅做示例
    } else {
        console.log(left / 1000);
        setTimeout(timeFunc, 1000);
    }
}
timeFunc();

以上两个示例都是通过模拟调用获取服务器时间的 JS 代码,计算剩余时间,当剩余时间为0时触发按钮点击事件来实现抢购的过程。当然其中很多常量和变量都需要根据具体页面来进行调整和修改。

希望这篇攻略能够帮助您学会如何使用 JS 技术攻克红米手机抢购,祝好运!

营销型网站