账号密码登录与UpSession¶
- class qqqr.up.UpWebLogin(client, uin, pwd, h5=True, app=None, proxy=None, info=None, fake_ip=None)¶
在 0.13.0.dev1 版本发生变更:
TeaEncoder是唯一的PasswdEncoder。NodeEncoder已被移除。- async new()¶
创建一个
UpWebSession。这将触发对xloginURL 的 GET 请求。- 抛出:
aiohttp.ClientResponseError -- 如果响应状态 != 200
- 返回类型:
- 返回:
a UP login session
- async check(sess)¶
将调用 Qzone 的
checkAPI,获取此登录是否需要验证码、短信验证等的结果。- 参数:
sess (
UpWebSession) -- 从new()获取的 session。
- async send_sms_code(sess)¶
发送验证短信(获取动态码)
- 参数:
sess (
UpWebSession) -- 要发送短信验证码的账号密码登录 session
- async try_login(sess)¶
检查当前 session 是否满足登录条件。接收一个 session 对象并返回此次尝试的响应。
- 参数:
sess (
UpWebSession) -- 存储 session 信息- 返回类型:
- 返回:
登录响应
- async login()¶
执行完整的账号密码登录流程。
创建一个新的
UpWebSession调用
checkAPI 确定登录要求如果需要验证码,通过
UpWebSession.pass_vc()处理循环
try_login()直到认证成功或出错如果需要短信验证,触发
sms_code_input钩子
- 返回:
登录 cookie 字典
- 抛出:
TencentLoginError -- 如果任何步骤登录失败
- sms_code_input¶
This emitter is triggered when SMS verify code is needed during login.
- class qqqr.up.UpH5Login(client, uin, pwd, h5=True, app=None, proxy=None, info=None, fake_ip=None)¶
使用移动端 H5 端点的账号密码登录。
使用
ui.ptlogin2.qq.com替代ssl.ptlogin2.qq.com,并带有 H5 特定的参数。- property login_page_url¶
使用 H5 特定参数构建 H5 登录页面 URL。
- async check(sess)¶
调用 H5 的
checkAPI 确定登录要求。- 参数:
sess (
UpWebSession) -- 从new()获取的 session
- class qqqr.up.web.UpWebSession(login_sig, *, create_time=None)¶
账号密码登录的 session 状态。
存储验证结果、check 响应、短信票据和登录历史。属性暴露当前验证码和登录请求所需的 session id。
- set_check_result(check)¶
存储 check API 响应并更新 session 状态。
- property code¶
当前验证码(verify 结果优先于 check 结果)。
- property verifycode¶
当前验证字符串(verify 结果优先于 check 结果)。
- property verifysession¶
当前验证 session(verify 结果优先于 check 结果)。
- async pass_vc(solver)¶
pass_vc 函数用于通过 Tcaptcha 验证。当
try_login()返回StatusCode.NeedCaptcha码时调用。- 参数:
solver (
Captcha) --Captcha对象- 抛出:
NotImplementedError -- 如果无法解决此验证码
TencentLoginError -- 如果未能通过验证码
- 返回类型: