利用js脚本来帮你抢到一个表单提交类型的各种活动,这里以讲座为例~

准备

注册一个麦克表单

创建一个自己的表单

数据探索

首先自己提交一个表单,同时打开f12中的network,看一看自己提交的东西包含了什么。

比如这里我们发现了d这个对象

之后我们尝试着按照它这种格式,自己提交一下,看看能不能成功。

这里我选用了restlet这个工具。

可以发现,成功了o(* ̄▽ ̄*)o

分析

可以看出,我们发送的所有数据都在那个d对象中了,只要能够伪造一个d对象就可以了。当然,还有一个信息也非常重要,那就是我们要发送到的url。

首先,我们来仔细研究下这个表单中提交的这个数据d中的内容:

d:
{"cvs":{"i":200161277,"t":"qC46nGG","s":200451541,"acc":"rwazMfH366xixYAPA6VwsFhRdKvlRkRi","r":"http://www.mikecrm.com/form.php","c":{"cp":{"201664030":"超超","201664031":"123456"}}}
}

这些字段都是哪里来的呢?

我们再次打开刚才的表单填写页面,通过查看源码可以看到有这样一段脚本。

至此,我们就发现了所有秘密的答案,全部在SOUL这个变量中:

var SOUL =
{"w":800,"h":{"t":"2018年全球智能工业大会","ly":2,"lys":1},"t":null,"st":{"h":{"bgl":{"h":3,"v":9},"yof":0,"bg":"_header_bg_duRuo.png","bgc":"#3B67A0","bgo":1,"tc":"#FFFFFF","dc":"#FFFFFF"},"bgc":"#EDF0F8","thc":"#2D8FD9","b":{"bgc":"#FDFDFE","bgo":1,"tc":"#000000","dc":"#666666","oc":"#000000"},"s":{"bgc":"#FAFBFC","bgo":1,"btc":"#3B67A0","btct":"#FFFFFF","btw":2}},"se":null,"ext":null,"cpo":"201664030;201664031","cpl":"--","cp":{"201664030":[6,1,{"t":"姓名"},null,0],"201664031":[6,1,{"t":"学号"},null,0]},"cp_ctcf":null,"_m":{"FRS":200451541,"ACC":"rwazMfH366xixYAPA6VwsFhRdKvlRkRi","T":"qC46nGG","I":200161277,"U":"\/ugc_5_c\/pub\/6p\/6ppq91m74tg2ln2lb4o22670qjcm9naf\/form\/image\/","CLN":"个人"}
};

这里的FRS对应提交的s字段,I对应i字段,ACC对应acc,T对应t。 cpo字段中 "201516568;201516569" 正是提交的字段中cp的key,value则是填写的值。

操作方法

我们在抢课开始前几分钟的时候,要用电脑浏览器打开“阅读全文”的网址,并把这个网址复制下来。然后F12打开Console,复制以下代码进去,回车。

function exec(url){$.get(url,function(data){data.split("\n").forEach(it=>{if(it.indexOf("SOUL")>=0){eval(it);var d = deal(SOUL,url);$.post("http://cn.mikecrm.com/handler/web/form_runtime/handleSubmit.php",{d:d},function(data){console.log(data)})}})})
}
function deal(SOUL,url){var i = SOUL._m.I;var t = SOUL._m.T;var s = SOUL._m.FRS;var acc = SOUL._m.ACC;var cp = SOUL.cpo.split(';')var r = url;var c = {};c[cp[0]]="你的名字";//姓名c[cp[1]]=123213;//学号var c = {cp:c}var d ={"cvs":{i,t,s,acc,r,c}};return JSON.stringify(d);
}

然后exec(window.location.href)就是选课一次了。

(额,这个演示有点失误...不要在意这些细节!)

如果想要每秒帮忙选一次则可以

setInterval(function(){exec(window.location.href)},1000
)

写在最后

由于表单往往是定时开放的,因此在正式开抢的时候页面会刷新,导致之前粘贴的代码会失效。因此,建议在其它网页上粘贴代码运行。此时注意要将window.location.href改成当天新推的表单的网址。

当然,还有一种更加舒服的用法,就是使用油猴脚本(这个插件很强大,详细的用法我就不多说了吧...)

注意其中最上面的@match要匹配你的表单网址

总之:
按照最原始的方法,在一个旧表单页面F12在console复制上面的脚本。记得修改三个地方:姓名/学号/window.location.href。回车运行,然后就可以泡壶茶静静地等待啦~ o(* ̄▽ ̄*)o

手把手教你写一个抢讲座的脚本相关推荐

  1. 手把手教你写一个生成对抗网络

    成对抗网络代码全解析, 详细代码解析(TensorFlow, numpy, matplotlib, scipy) 那么,什么是 GANs? 用 Ian Goodfellow 自己的话来说: " ...

  2. python k线合成_手把手教你写一个Python版的K线合成函数

    手把手教你写一个Python版的K线合成函数 在编写.使用策略时,经常会使用一些不常用的K线周期数据.然而交易所.数据源又没有提供这些周期的数据.只能通过使用已有周期的数据进行合成.合成算法已经有一个 ...

  3. 手把手教你写一个spring IOC容器

    本文分享自华为云社区<手把手教你写一个spring IOC容器>,原文作者:技术火炬手. spring框架的基础核心和起点毫无疑问就是IOC,IOC作为spring容器提供的核心技术,成功 ...

  4. 手把手教你写一个Matlab App(一)

    对于传统工科的学生用的最多的编程软件应该就是matlab,其集成度高,计算能力强,容易上手,颇受大众青睐.今天挖的这个新坑,主要是分享用matlab app designer设计GUI界面的一些方法和 ...

  5. 后端思维篇:手把手教你写一个并行调用模板

    前言 36个设计接口的锦囊中,也提到一个知识点:就是使用并行调用优化接口.所以接下来呢,就快马加鞭写第二篇:手把手教你写一个并行调用模板~ 一个串行调用的例子(App首页信息查询) Completio ...

  6. 从原理到实现丨手把手教你写一个线程池丨源码分析丨线程池内部组成及优化

    人人都能学会的线程池 手写完整版 1. 线程池的使用场景 2. 线程池的内部组成 3. 线程池优化 [项目实战]从原理到实现丨手把手教你写一个线程池丨源码分析丨线程池内部组成及优化 内容包括:C/C+ ...

  7. 手把手教你写一个中文聊天机器人

    本文来自作者 赵英俊(Enjoy) 在 GitChat 上分享 「手把手教你写一个中文聊天机器人」,「阅读原文」查看交流实录. 「文末高能」 编辑 | 哈比 一.前言 发布这篇 Chat 的初衷是想和 ...

  8. 手把手教你写一个没有服务器的颜值打分小程序,可直接上线

    小程序现在可以说非常火爆了,流量入口非常多.尤其是出了流量主功能以后,普通开发者也能在自己的个人小程序里植入官方广告来获取收入.程序员想赚点外快再合适不过了.今天教大家写一个颜值打分的小程序,利用现成 ...

  9. 手把手教你写一个手势密码解锁View(GesturePasswordView)

    相信大家在很多的app肯定看到过手势密码解锁View,但是大家有没有想过怎么实现这样一个View,哈,接下来,小编手把手教大家教写一个GesturePasswordView. 先看一张效果图 要实现这 ...

最新文章

  1. js计算两个时间之间天数差的实例代码
  2. boost::planar_canonical_ordering用法的测试程序
  3. Windows CE File System [2/2]
  4. Notepad++中用正则表达式匹配中文
  5. 蛋疼的strtok函数
  6. linux感染十字符病毒,linux下如何刪除十字符libudev.so病毒文件
  7. 数字图像处理,中值滤波和均值滤波及其改进算法的C++实现
  8. 从几个简单例子聊聊Verilog的参数化设计(parameter、localparam和`define)
  9. 辐射光电流测试软件,资深工程师告诉你如何使用示波器测试EMI辐射干扰
  10. 内存模型系列(下)- 内存持久性模型(Memory Persistency)
  11. DLL Hell (DLL噩梦)
  12. “鸿蒙之父”王成录重申:鸿蒙系统不是安卓套壳;苹果多款产品电池修理费将涨价;Debian移除Python 2|极客头条...
  13. vscode 解决端口被占用问题
  14. 反恐精英代码_CS:GO和军团要塞2源代码泄漏,Valve:稳住
  15. Java接口与接口的关系
  16. 混合云——企业的最佳解决方案?
  17. 开创高质量发展新局面,优炫数据库助推数字中国建设
  18. 大三学计算机专业暑假工打什么,高考后学点什么好 打暑期工还是待在家
  19. 计算机应用公式基础教学教案,计算机应用基础教案2010 - 图文
  20. 普罗米修斯java_springboot集成普罗米修斯

热门文章

  1. echarts 修改MarkPoint字体,气泡颜色,气泡字体
  2. Soap Ui报错--An error was discovered processing the lt;wsse:Security> header.
  3. CCD 輸出雜訊(Readout Noise)及輸出速度(Readout Speed)
  4. 辽宁交通高等专科学校计算机专业宿舍,辽宁省交通高等专科学校宿舍怎么样住宿条件好不好...
  5. mimikatz - Golden Ticket
  6. Annovar 信息注释
  7. 交互设计专业书籍推荐(内有部分书籍电子版下载)
  8. ssb门限_通信原理(第七版)-樊昌信-第五章-模拟通信系统-重要知识点
  9. class 提取谱线数据
  10. hdu 2005 第几天?(java)