学习通查分 python
记录一下,今天用python写了s网课,东西不难。重新写一遍 参数抓包找了挺久。基本功能已经实现但是还有很多需要完善的地方 过段时间整理一下分享⑧。
突然想起来梦总的这个网站,就来看看。。
抓包基于cookie加密
想扣js....想了想自己的水平算了⑧
换个思路 基于cookies加密如果将cookies直接固定呢?试了下果然可行! 测试不存在cookies失效问题
首先第一个提交的数据“csrf”,源码 每次刷新得到一个新的csrf,这个csrf可以带着固定的cookies去进行获取
如图1post中第二三个 参数,多抓几次包不难发现 两个的值是固定的,CTRL+F 搜索一下 , 在js文件中 都是基于cookies进行计算获得的,cookies固定这两个值直接固定就好coures_url 和code分别是 我们传入的url和验证码 。
返回跳转的URL拼接一下即可
代码如下:
import requests
import re
ck_headers={
**************************
}
def Get_302url():
#先获取源码中的csrf
url = 'https://zyhzone.cn/xxt/score'
res = requests.get(url=url,headers=ck_headers)
print(res.text)
#通过正则取csrf
csrf = re.compile(r'csrf = "(.*?)"').findall(res.text)
#填写course_url
course_url = input('请填写正确的URL:')
#vcode读写验证码
get_code()
vcode = input('请填写验证码:')
real_url = 'https://zyhzone.cn/xxt/getscore'
data={
'csrf': csrf,
'n': '***',
'se_key':'***',
'course_url':course_url,
'vcode':vcode
}
res_real = requests.post(url=real_url,headers=ck_headers)
print(res_real.text)
def get_code():
url = 'https://zyhzone.cn/xxt/vcode?_=1606466986378'
res = requests.get(url=url,headers=ck_headers)
with open ('code.png','wb') as f:
f.write(res.content)
if __name__== "__main__":
Get_302url()
能说的再详细一些嘛 ?比如说ck_header要填入什么 神器的诺言 发表于 2020-12-2 18:07
能说的再详细一些嘛 ?比如说ck_header要填入什么
协议头.... 小陈 发表于 2020-12-8 14:03
协议头....
还是不知道是啥。。。。填了之后报错 现在还能用吗
页:
[1]