概述
大家好,我是菜鸡q,大家好久不见!
故事的起因是由于群里有人通知马上要选下学期的课了,鉴于第一学期立志认真上课的我头铁选了几门巨难的课后,到学期中由于真的听不懂后索性懒得去上课,所以我决定下学期就选几门水课!
经过多方打听,水课名单get后,我定好下午三点的闹钟,摩拳擦掌准备抢课。
结局当然是:秒杀从未成功的我,失败次数++
痛定思痛,咱一个计算机科班的写个抢课脚本他不香吗?
有关注茅台的朋友们也许了解到最近火爆的京东抢茅台脚本在github上异军突起,那么今天让我们一起看下此类秒杀脚本背后的原理吧。
我们先说结论:本质上就是模拟一个请求,举个例子,我们在百度上搜索关键词,如在百度搜索框上输入【NBA】,则浏览器会将我们的请求(带有关键词NBA)发到百度服务器,服务器拿到关键词后,返回给所有带有NBA信息的搜索结果。
同样的,当我们在秒杀茅台页面点击购买,在选课页面点击选课,都是将带有特定功能的数据包发到对方服务器,随后得到反馈:秒杀成功。
当然机智的你一定会有疑问,京东的服务器是怎么知道这个商品是你买的呢?
答案就是我们平常发过去的数据包里有个信息叫cookie,经过层层加密后他会带有我们的个人信息,这样服务器拿到cookie后对应解密就能分辨请求是谁发的了。
那么回到主题,如何写一个抢课脚本呢?
通过抓包工具找到我们抢课的请求接口
用python的requests库发送该请求
具体操作如下
打开浏览器F12,随便选个课,点击选课,抓到包如下:
将url以及headers复制进脚本,随后伪代码如下:
import requests
data = requests.post(url, headers=headers)
好了,经过一番操作后,我已经将脚本部署上就等哪个老哥退课了。
本文的源代码已上传到GitHub, 点击阅读原文一键直达~
——END——
扫码二维码
获取更多精彩
老肥码码码
最后
以上就是精明香烟为你收集整理的手把手之如何写一个抢课脚本的全部内容,希望文章能够帮你解决手把手之如何写一个抢课脚本所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复