最近在抢“阿里云马克杯”没有脚本抢不到,现在有很多活动,数量有限需要抢,凭手动去抢很难抢到。有能力的大佬用脚本抢——快、准、狠 以前没有接触过这样的脚本,现在记录下来学习一下。
要自己写脚本必须会一点点JavaScript,会查看网页源代码,写脚本主要用到两个函数,即setInterval() 方法和fetch()
setInterval() 方法 按照指定的周期(以毫秒计)来调用函数或计算表达式。
fetch()方法,简单,合理的方式来跨网络异步获取资源。
通俗的讲就是用fetch()方法提交表单,用setInterval() 方法控制什么时候自动提交表单或者说在规定的时间内不停的提交表单。
这里以抢“阿里云马克杯”为例简单的介绍脚本思路,下面是网上收集的代码,打开 https://developer.aliyun.com/adc/series/fc/登录好,在59分58秒(“阿里云马克杯”是晚上0点开始抢)的时候F12控制台 console里面粘贴回车就行。
//使用setInterval() 方法 按照指定的周期(以毫秒计)来调用函数或计算表达式 var times = 0; var cishu = setInterval(function(){ times++; if(times >= 30){ clearInterval(cishu);//执行30次后停止执行 } fetch("https://developer.aliyun.com/developer/api/award/receivePrize", { "headers": { "accept": "*/*", "accept-language": "zh-CN,zh;q=0.9,en;q=0.8", "cache-control": "no-cache", "content-type": "application/json", "pragma": "no-cache", "sec-fetch-dest": "empty", "sec-fetch-mode": "cors", "sec-fetch-site": "same-origin", "x-requested-with": "XMLHttpRequest" }, "referrer": "https://developer.aliyun.com/adc/series/fc/", "referrerPolicy": "no-referrer-when-downgrade", "body": '{"mobile":"替换为手机号","awardId":"e7b816800c3f4ca9811eaaf3b6a29ccf","name":"替换为姓名","extension":"{ "address": "替换为收获地址" }"}', "method": "POST", "mode": "cors", "credentials": "include" }); },200+Math.random()*100);
上面的代码里的“200+Math.random()*100”表示会自动每200~300毫秒请求一次,
另外一个代码,都一样,只是会在控制台输出结果。
setInterval(function(){ fetch("https://developer.aliyun.com/developer/api/award/receivePrize", { "headers": { "accept": "*/*", "content-type": "application/json", "x-requested-with": "XMLHttpRequest" }, "referrerPolicy": "no-referrer-when-downgrade", "body": "{\"mobile\":\"13800000000\",\"awardId\":\"e7b816800c3f4ca9811eaaf3b6a29ccf\",\"name\":\"隔壁老王\",\"extension\":\"{ 'address': '地址' }\"}", "method": "POST", "mode": "cors", "credentials": "include" }).then(function(data) {console.log(data.json())}).then(function(Json) {console.log(Json);})},1000)
另外一个代码,成功抢到会有红色的输出。失败的都是灰色或者黑色输出
setInterval(function() { var date = new Date(); var hour = date.getHours(); var minute = date.getMinutes(); var seconds = date.getSeconds(); //23:59:50开始 00:00:10停止 if ((hour === 23 && minute === 59 && seconds >= 50) || (hour === 0 && minute === 0 && seconds <= 10)) { fetch("https://developer.aliyun.com/developer/api/award/receivePrize", { "headers": { "accept": "*/*", "content-type": "application/json", "x-requested-with": "XMLHttpRequest" }, "referrerPolicy": "no-referrer-when-downgrade", "body": '{"mobile":"手机","awardId":"e7b816800c3f4ca9811eaaf3b6a29ccf","name":"姓名","extension":"{ 'address': '地址' }"}', "method": "POST", "mode": "cors", "credentials": "include" }).then(function(data) { return data.json(); }).then(function(res) { if (res.success && res.message.indexOf("成功") > -1) { //成功 console.error(res) } else { //失败 console.log(res); } }) } }, 50 + Math.random() * 10);