帝都青年大学习
本帖最后由 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 Python 的包管理工具 Pip 真心不错用,但有时会出现 URL 拒绝连接或超时的问题。这时候我们可以通过配置代{过}{滤}理来解决下载失败的问题。方法很简单,直接在终端输入:
pip install -r requirements.txt --proxy http://username:password@proxyserver:port 可惜各个省份都是不一样的,要是有通用的就好了 多多学习就好 学习学习,思路不错 他这个验证码接口是要自己输入的吗,他这个只是获取验证码接口而已,没有填充啊 zhouTz 发表于 2023-5-18 13:26
他这个验证码接口是要自己输入的吗,他这个只是获取验证码接口而已,没有填充啊
登录的时候传入就行 感谢分享
好好学习天天向上 不错,非常感谢