首页
壁纸
每日60s早报
直播
更多
关于
统计
Search
1
青龙面板安装教程
17 阅读
2
通过ai进行某大学洗澡软件sign值分析
10 阅读
3
雨课堂websocket登录获取登录数据
2 阅读
生活日常
技术分享
登录
Search
标签搜索
逆向分析
青龙面板
日落晚阳.
累计撰写
3
篇文章
累计收到
1
条评论
首页
栏目
生活日常
技术分享
页面
壁纸
每日60s早报
直播
关于
统计
搜索到
1
篇与
的结果
2025-12-03
雨课堂websocket登录获取登录数据
前言本内容仅用于技术交流学习,严禁商用;爬取行为需遵守网站协议及法律规定,如有侵权请联系删除。雨课堂网页版的登录流程在https://www.yuketang.cn/web?next=/v2/web/index&type=3页面加载完毕后,客户端与服务端建立websocket链接。随即客户端发送一段数据,用于请求微信二维码。服务端拿到数据后反馈二维码相关信息。并每隔一段时间重新发送一次二维码信息。客户端根据信息去请求二维码图片。用户扫码,由移动客户端发送信息至服务端确认用户正在登录。服务端再通过websocket发送登录的相关信息回客户端。客户端拿到登录的相关信息后post到login接口进行登录,至此登录成功。具体步骤一、找到websocket接口雨课堂的websocket接口为wss://www.yuketang.cn/wsapp/二、查看websocket数据交流情况数据内容长度时间{"op":"requestlogin","role":"web","version":1.4,"type":"qrcode","from":"web"}7723:06:57.966{"op":"requestlogin","loginid":"7e3115fc-ce02-439f-9e95-f7cc797f6b13","expire_seconds":60,"ticket":"https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQG_8DwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAyUGRSMEZUN2pkczExNENHU2hGY3EAAgSmLy1pAwSAOgkA","qrcode":"http://weixin.qq.com/q/02PdR0FT7jds114CGShFcq"}30623:06:57.996登录之后发现多了一串数据{ "subscribe_status": true, "AppOpenID": "", "profile_edit_status": false, "UserID": "", "DateJoined": "2025-03-22T00:12:43", "Role": 0, "LastLogin": "2025-12-03T23:22:35", "Department": "", "WeixinUnionID": "", "LastLoginIP": "", "noRecArticle": true, "Auth": "", "ppt_config_data": {}, "Nickname": "", "School": "", "Name": "", "Language": "zh-cn", "Gender": 0, "YearOfBirth": null, "is_self_set": false, "Avatar": "", "Position": null, "subscribe_message_templates": [], "MinaOpenID": "", "isBind": true, "user_on_lessons": [], "AndroidOpenID": "", "op": "loginsuccess", "loginid": "***" }关键信息是里面的UserID和Auth三、登录将之前获得的UserID和Auth POST到https://www.yuketang.cn/pc/web_login获取sessionid与csrftoken。然后就登录成功了下面是代码import requests import websocket import json import cv2 as cv import numpy as np session = requests.Session() user_info = {} def on_message(ws, msg): global user_info user_info = json.loads(msg) if 'subscribe_status' in user_info: ws.close() return # 显示二维码 resp = session.get(user_info['ticket']) img = cv.imdecode(np.array(bytearray(resp.content), np.uint8), cv.IMREAD_UNCHANGED) cv.imshow('登录码', img) cv.waitKey(0) cv.destroyAllWindows() # 建立WS连接 ws = websocket.WebSocketApp("wss://www.yuketang.cn/wsapp/", on_message=on_message, on_error=lambda ws, e: print(e)) ws.on_open = lambda ws: ws.send(json.dumps({"op":"requestlogin","role":"web","version":1.4,"type":"qrcode","from":"web"})) ws.run_forever() req = session.post("https://www.yuketang.cn/pc/web_login",data=json.dumps({'UserID':user_info['UserID'],'Auth':user_info['Auth']})) print(req.json()) # 获取课程列表 req = session.get("https://www.yuketang.cn/v2/api/web/courses/list?identity=2") print(json.loads(req.content))长江雨课堂,荷花雨课堂等一样只需要改个前缀即可
2025年12月03日
2 阅读
0 评论
0 点赞