2026-08-01 11:22:47 +08:00
|
|
|
"""会话层 (session layer) for the yunke CRM API.
|
|
|
|
|
|
|
|
|
|
Public surface:
|
|
|
|
|
|
|
|
|
|
* :class:`app.session.login.LoginResult` — parsed login outcome (userid,
|
|
|
|
|
company, cookies snapshot, raw payload).
|
|
|
|
|
* :func:`app.session.login.get_secure_key` — ``GET /newuc/login/getSecureKey``.
|
|
|
|
|
* :func:`app.session.login.pc_login` — ``POST /usercenter/login/pcLogin``.
|
2026-08-01 13:37:42 +08:00
|
|
|
* :func:`app.session.login.encrypt_password` — RSA (PKCS#1 v1.5) password
|
|
|
|
|
encryption using the ``getSecureKey`` modulus/exponent.
|
2026-08-01 11:22:47 +08:00
|
|
|
* :class:`app.session.yunke_client.YunkeClient` — the authenticated HTTP
|
|
|
|
|
client every scraper uses.
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
from app.session.login import (
|
|
|
|
|
LoginResult,
|
|
|
|
|
encrypt_password,
|
|
|
|
|
get_secure_key,
|
|
|
|
|
pc_login,
|
|
|
|
|
)
|
|
|
|
|
from app.session.yunke_client import YunkeClient
|
|
|
|
|
|
|
|
|
|
__all__ = [
|
|
|
|
|
"LoginResult",
|
|
|
|
|
"YunkeClient",
|
|
|
|
|
"encrypt_password",
|
|
|
|
|
"get_secure_key",
|
|
|
|
|
"pc_login",
|
|
|
|
|
]
|