本帖最后由 Arcticlyc 于 2023-5-19 13:58 编辑
声明
文章中所有内容仅供学习交流,不得用于其他任何目的,文中敏感内容已做脱敏处理,严禁用于商业和非法用途,否则由此产生的一切后果与作者无关。如有侵权,请联系作者立即删除。
简介
这个程序是很久之前做的,本身难度不高。因为正在学习pyside6,所以刚好用来巩固学习一下。
本来准备把打包后的exe发出来,但是好像不能发成品,所以就不发了。
界面非常丑陋,加载课程时可能卡顿。源代码也一起发出来,有需要的可自行查看,验证码可以使用ddddocr通过,源代码里面有,我给注释掉了。
部分代码
账号和密码加密部分
# 加密账号和密码
def crack_pwd(self, pwd):
key = '''-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD5uIDebA2qU746e/NVPiQSBA0Q3J8/G23zfrwMz4qoip1vuKaVZykuMtsAkCJFZhEcmuaOVl8nAor7cz/KZe8ZCNInbXp2kUQNjJiOPwEhkGiVvxvU5V5vCK4mzGZhhawF5cI/pw2GJDSKbXK05YHXVtOAmg17zB1iJf+ie28TbwIDAQAB
-----END PUBLIC KEY-----''' #注意上述key的格式
rsakey = RSA.importKey(key)
cipher = Cipher_pkcs1_v1_5.new(rsakey) # 生成对象
cipher_text = base64.b64encode(cipher.encrypt(pwd.encode(encoding="utf-8"))) # 对传递进来的用户名或密码字符串加密
value = cipher_text.decode('utf8') # 将加密获取到的bytes类型密文解码成str类型
return value
用户登录
虽然大学习登录基本都在微信上进行,但是微信登陆后进入个人中心,退出自己的账号再点击登录,此时所处界面其实可以直接在浏览器中打开,所以其实可以直接用自己的账号密码完成登录。
验证码接口
def get_verify(self, flag=False):
'''
获取验证码图片
'''
if flag:
# 验证码刷新接口
self.session.get('https://*****/site/captcha?refresh=1', headers=self.headers)
url = 'https://*****/site/captcha'
res = self.session.get(url, headers=self.headers)
# with open('test.jpg', 'wb') as f:
# f.write(res.content)
#verify = self.recognize(res.content)
verify = res.content
return verify
几个接口
登录:https://*****/site/login
学习:https://*****/dxx/check
获取课程:https://*****/dxx/course
获取程序
蓝奏云:https://lanzout.com/iLPiQ0wkw6zg
https://lanzout.com/iKa7s0wgvygf
|