抢购页面的抢购软件是什么原理?那些JS写出来的按钮要怎么自动点击呢? 按通常的想法就是发送大量p

JavaScript012

抢购页面的抢购软件是什么原理?那些JS写出来的按钮要怎么自动点击呢? 按通常的想法就是发送大量p,第1张

只要是通过网页,所有操作终究还是归结到post或者get请求上

可能网站为了防止脚本,在header、session、cookies或者参数中做了手脚

只要你能研究他的规则,写脚本都是可以的

作为一名程序员,我们会遇到和很多的开发问题,本章内容小编就为大家分享一篇如何用JS实现网页抢购功能,以下我们是通过chrome浏览器的开发者功能,实现如何用JS代码完成抢购功能以及如何通过chrome浏览器调试并加载自己写的JS。

涉及到的内容:

1.chrome浏览器

2.js代码

3.函数节流

第一步

打开chrome浏览器,使用组合键Ctrl+shift+i打开开发者工具,接下来如图所示。

点击snippets

第二步

如图所示

点击new snippet -->输入脚本‘名称'-->Ctrl+s保存。

第三步

如图所示

选择新创建的脚本‘名称',在如图所示的第二步进行编辑js代码。最后如第三步所示:run 运行代码。

js脚本代码

1.以下是网站上的代码:

抢购

/**

* 抢购按钮

*

* */

btn.οnclick=function(){

console.log('抢购成功!')

}

每次点击抢购 控制台输出 抢购成功!

2.脚本代码/**

* 最简单的脚本代码

* 版本1.0.1

*/

btn.click()//触发按钮执行click事件

/**

* 使用for循环执行抢购的脚本代码

* 版本1.0.2

* */

for(var i=0i<100i++){

btn.click()

}

通过上边的脚本js代码可以知道,我们可以在chrome浏览器内置脚本,并控制执行。

当开发人员模拟真实环境的高并发情况,咱们就可以使用这种脚本的方式模拟测试。通过刚刚的脚本我们发现我们开发的页面中的js是有很多问题的。假设【抢购按钮】触发的是请求数据接口。则会出现在一个时间内发出n个请求。处理这个问题可以参考防止重复提交

防止ajax重复提交

提交

/**

* 模拟ajax提交

* @fn 回调函数

* */

function Ajax(fn){

setTimeout(function(){

var data= {result:true,msg:'提交成功!'}

fn(data)

},2000)

}

/**

* btn click 提交事件

*

* */

btn.οnclick=function(){

//检查 按钮是否被锁住,锁住直接rerun

if(btn.getAttribute('lock')){

return

}

//上锁

btn.setAttribute('lock',1)

//更改状态

btn.innerText='提交中...'

//模拟ajax提交

Ajax(function(data){

//请求成功

if(data.result){

console.log('请求成功')

//请求成功解锁

btn.setAttribute('lock',"")

//还原状态

btn.innerText='提交'

}else{

console.log('请求失败')

//请求失败解锁

btn.setAttribute('lock',"")

//还原状态

btn.innerText='提交'

}

})

}

也可以使用函数节流方式处理。如下代码://网站上写的代码

/**

* 抢购按钮

*

* */

btn.οnclick=function(){

throttle(function(){

console.log('抢购成功!')

},500)

}

/**

* 函数节流

* @fn {function} 回调函数

* @time {number} 时间,毫秒

*

* */

function throttle(fn,time){

if(throttle.id){

clearTimeout(throttle.id)

}

throttle.id=setTimeout(function(){

fn()

},time||200)

}

通过以上方式我们可以过滤掉恶意循环触发事件。这种函数节流方式也得到大家的一致认可与推广。

以上内容是JavaScript实现网页抢购功能的教程,不仅如此,我们还学会了制做简单的js脚本,也学到一种简单的阻止js脚本的方,大家赶紧动手操作一下吧。

相关推荐:

如何用php脚本抢东西

点赞文章给优秀博主打call~

1克拉钻石多少钱

精选推荐

广告

抖音直播间抢福袋一直是吸引用户进入直播间驻足停留的一种方式。这种方式已经成为 直播间引流的常用手段。主播和用户之间的联系有点像周瑜和黄盖的关系。

为什么抢福袋这项只是用于常规引流的功能,会成为很多人薅羊毛的靶子,就是因为福袋直接可以获得抖币。抖币可以购买礼物、可以加入粉丝团甚至可以变现。

正是因为抖币可以变现,使得很多人通过类似游戏外挂的方式在手机上插入了脚本,自动监测、采集直播间信息,自动抢福袋。

脚本刚出来时,确实让很多人赚了一笔,但是随着抖音平台大批限制此类账号,很多使用脚本的账号都被限制了抢福袋的时间,甚至直接封号。其实归根结底就是因为脚本的采集功能触犯了抖音平台的规则。

如何解决?

如果再去使用脚本是不可能解决的,耶稣都治不了。

使用云控,通过电脑发送指令至云服务器,通过云服务器下发指令给设备,一台电脑可控制2W+手机进行批量操作。批量进入直播间,批量发言、批量加入粉丝团。这样做的优势:完全模拟人工操作无封号风险、24小时均可抢福袋、统一抢福袋几率更高。劣势:无法做到像脚本自动监测、采集直播间信息,无法自动抢福袋。

使用云控llgcjsnba可以解决脚本被限制、被封号的情况。但是需要有人操作电脑控制手机,两者各有利弊,如何选择,自己衡量。