首先下载fiddler软件用来获取账号信息
fiddler软件(香滴很),网上百度下载就好。最好官网下载,防止下载到木马文件。
设置浏览器代理
这是通过firfox浏览器的插件直接设置的,具体设置代理的步骤可以百度。浏览器不同设置代理的方式也不太一样。
浏览器设置的代理地址:127.0.0.1:8888
设置fiddler软件的代理端口
在fiddler软件上设置代理端口,端口号要和浏览器设置的一致。
抓包(重点来了)
找到目标网站发送数据的请求
将找到的cookie值以及Authorization值保存下来。
图片中id值是本次活动的序号,先保存到小本本上,有用。
准备工作结束
经过上述信息捕捉的环境准备,下面跑代码就ok了。代码粘贴复制,信息一填,一把梭。奥里给。
代码如下:
// An highlighted block
import requests
import datetime
import time
import threading
def httpReuest_cratch(id,token, cookie):
datas = {"academicId": id, "userId": 学号, "userName": "用户名", "userCollege": "所属学院", "userGrade": 年纪,
"registrationTime": str((datetime.datetime.now()).strftime('%Y-%m-%d %H:%M:%S')), "useState": 0
, "token": str(token)}
header = {
# 登录抓包获取的头部
"Connection": "keep-alive",
"Content-Length":"331",
"Accept": "application/json, text/plain, */*",
"Authorization":str(token),
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36",
"Content-Type": "application/x-www-form-urlencoded",
"Origin": "http://网站域名地址/",
"Referer":"http://网站域名地址/",
"Accept-Language": "zh-CN,zh;q=0.9",
"Accept-Encoding": "gzip, deflate",
}
header["Cookie"] = str(cookie)
# requests.head()
s = requests.session()
login_url = "抓包处的地址" # 自己找带Authorization以及cookie值的地址
login_ret = s.post(login_url, headers=header, data=datas)
print(login_ret.text)
print(login_ret.status_code)
def thred_http(id, token, cookie, thred_conut):
try:
i = 0
# 开启线程数目
tasks_number = thred_conut
print('启动多线程')
time1 = time.perf_counter()
while i < tasks_number:
t = threading.Thread(target=httpReuest_cratch(id, token, cookie))
t.start()
i += 1
print(i)
time2 = time.perf_counter()
times = time2 - time1
print(times)
print(times / tasks_number)
except Exception as e:
print(e)
while True:
time_temp = current_time = str((datetime.datetime.now() + datetime.timedelta(seconds=0)).strftime('%Y-%m-%d %H:%M:%S'))
print(time_temp)
# 此处设置的是抢票的时间(格式如下)
if time_temp == "2022-03-23 19:00:00":
break
thred_http(id, token, cookie, 44) # id :活动序列号,token :Authorization值,cookie:cookie值,44:是线程数量,建议不要设置太大。如果值太大会造成网络拥堵,服务器负担大。(简而言之,发送请求数量太大,服务器宕机了,运维人员会看日志记录的。懂得懂得。)
print(id, token, cookie)
最终结果
此处结果显示无法报名是因为,今天的活动没了,已经结束了,报名成功会提示你,报名成功。
一把梭。