手把手之如何写一个抢课脚本

《手把手之如何写一个抢课脚本》大家好,我是菜鸡q,大家好久不见!

故事的起因是由于群里有人通知马上要选下学期的课了,鉴于第一学期立志认真上课的我头铁选了几门巨难的课后,到学期中由于真的听不懂后索性懒得去上课,所以我决定下学期就选几门水课!

经过多方打听,水课名单get后,我定好下午三点的闹钟,摩拳擦掌准备抢课。

结局当然是:秒杀从未成功的我,失败次数++

《手把手之如何写一个抢课脚本》

痛定思痛,咱一个计算机科班的写个抢课脚本他不香吗?

有关注茅台的朋友们也许了解到最近火爆的京东抢茅台脚本在github上异军突起,那么今天让我们一起看下此类秒杀脚本背后的原理吧。

《手把手之如何写一个抢课脚本》

我们先说结论:本质上就是模拟一个请求,举个例子,我们在百度上搜索关键词,如在百度搜索框上输入【NBA】,则浏览器会将我们的请求(带有关键词NBA)发到百度服务器,服务器拿到关键词后,返回给所有带有NBA信息的搜索结果。

《手把手之如何写一个抢课脚本》

同样的,当我们在秒杀茅台页面点击购买,在选课页面点击选课,都是将带有特定功能的数据包发到对方服务器,随后得到反馈:秒杀成功。

当然机智的你一定会有疑问,京东的服务器是怎么知道这个商品是你买的呢?

答案就是我们平常发过去的数据包里有个信息叫cookie,经过层层加密后他会带有我们的个人信息,这样服务器拿到cookie后对应解密就能分辨请求是谁发的了。

那么回到主题,如何写一个抢课脚本呢?

  • 通过抓包工具找到我们抢课的请求接口

  • 用python的requests库发送该请求

具体操作如下

打开浏览器F12,随便选个课,点击选课,抓到包如下:

《手把手之如何写一个抢课脚本》

将url以及headers复制进脚本,随后伪代码如下:

import requests
data = requests.post(url, headers=headers)

《手把手之如何写一个抢课脚本》

好了,经过一番操作后,我已经将脚本部署上就等哪个老哥退课了。

本文的源代码已上传到GitHub, 点击阅读原文一键直达~

——END——

扫码二维码

获取更多精彩

老肥码码码

《手把手之如何写一个抢课脚本》

《手把手之如何写一个抢课脚本》《手把手之如何写一个抢课脚本》

    原文作者:librauee
    原文地址: https://blog.csdn.net/lyc44813418/article/details/114314738
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞