YH统一登录认证API
Project description
yhlogin
永辉统一身份认证登录工具,支持多服务登录和配置管理。
安装
pip install yhlogin
CLI 使用
登录命令
登录后返回带登录信息的 url、cookis、其他Service特定的信息
# 基本用法(使用保存的配置)
yhlogin login BigData
# 指定所有参数
yhlogin login BigData <username> <password> <otp_key>
可用服务:
使用 yhlogin services 查看所有可用服务及简写:
yhlogin services
输出示例:
可用服务列表:
--------------------------------------------------
BigData - 数据中台 简写:bigdata, bd
Olap - OLAP 简写:olap, o
YhBi - YHBI 简写:yhbi, bi
--------------------------------------------------
共 3 个可用服务
使用简写或完整类名进行登录,例如:yhlogin login bd 或 yhlogin login BigData
登录时可使用服务名称或简写:
# 使用简写
yhlogin login bd
yhlogin login bi
yhlogin login olap
# 使用完整名称
yhlogin login BigData
yhlogin login YhBi
yhlogin login Olap
# 指定所有参数
yhlogin login BigData <username> <password> <otp_key>
配置管理
配置保存在 XDG 规范目录:
- macOS/Linux:
~/.config/yhlogin/config.json - Windows:
%APPDATA%/yhlogin/config.json
# 保存配置
yhlogin config set --username <用户名> --password <密码> --otp-key <OTP 密钥>
# 查看配置
yhlogin config show
# 清除配置
yhlogin config clear
Python API 使用
v2 版本(推荐)
同步方式
from yhlogin import Yhlogin
from yhlogin.service import BigData, YhBi
yh = Yhlogin()
result = yh.login(
username="your_username",
password="your_password",
otp_key="your_otp_key",
service=BigData, # 或 YhBi
skip_ad=True, # 是否绕域限制,默认 True
)
print(result)
异步方式
import asyncio
from yhlogin import Yhlogin
from yhlogin.service import BigData, YhBi
async def main():
yh = Yhlogin()
result = await yh.login_async(
username="your_username",
password="your_password",
otp_key="your_otp_key",
service=BigData, # 或 YhBi
skip_ad=True, # 是否绕过域限制,默认 True
)
print(result)
asyncio.run(main())
v1 版本(旧版,兼容用)
v1 版本的 login 方法使用装饰器自动判断同步/异步调用方式:
from yhlogin.v1 import Yhlogin
yh = Yhlogin()
# 同步调用
yh.login(
username="your_username",
password="your_password",
otp_key="your_otp_key",
service="https://bigdata.yonghui.cn", # 直接传入服务 URL
skip_ad=True,
)
# 获取结果
print(yh.url) # 登录后的 URL
print(yh.cookies) # 登录后的 Cookies
# 异步调用(在异步上下文中)
await yh.login(
username="your_username",
password="your_password",
otp_key="your_otp_key",
service="https://bigdata.yonghui.cn",
skip_ad=True,
)
v1 与 v2 的主要区别:
- v1:
service参数为字符串 URL,登录后结果保存在实例的url和cookies属性 - v2:
service参数为 Service 类或字符串 URL,登录后返回字典包含结果
版本更新
2.0.5
- 修复 v1 兼容模块内,mac 无法登录的问题
2.0.5
- CLI 命令执行后返回正确的 Exit code(成功返回 0,失败返回 1)
2.0.2
- 新增
yhlogin services命令,查看可用服务列表及简写 - 登录命令支持服务简写(如
bd代替BigData) - 动态发现 service 模块中的 Service 子类
2.0
- 新增 CLI 登录功能(
login) - 新增 CLI 配置管理功能(
config set/show/clear) - CLI 支持保存用户名、密码、OTP 密钥
- CLI 登录命令支持使用保存的配置
- 调整 CLI 参数顺序,service 放在第一位
- 同步函数和异步函数分离
1.0.13
- 修复部分问题
1.0.10
- 修复部分问题
1.0.9
- 修复部分问题
1.0.7
- 修复不跳过域登录失败问题
1.0.5
- login 支持使用同步、异步 2 种方式调用
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
yhlogin-2.0.6.tar.gz
(10.4 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
yhlogin-2.0.6-py3-none-any.whl
(11.0 kB
view details)
File details
Details for the file yhlogin-2.0.6.tar.gz.
File metadata
- Download URL: yhlogin-2.0.6.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9fa6ebe482a6e97a8acaae037aa829246fac4bee55787c18670373567ac673e2
|
|
| MD5 |
e23224412345275f61af5f62626918d0
|
|
| BLAKE2b-256 |
c5313e172f698c7a94e2ac4acd9c9a964412c0b6113d3f9e72c00c52392c197e
|
File details
Details for the file yhlogin-2.0.6-py3-none-any.whl.
File metadata
- Download URL: yhlogin-2.0.6-py3-none-any.whl
- Upload date:
- Size: 11.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d15ba857d77be15f7bb7a2cf45ba9a51cf112647bc7a21639847c47b2ebb7b1
|
|
| MD5 |
c90593a16f413bd64e492ccf1772137d
|
|
| BLAKE2b-256 |
950973af840261c62425c8781f94f0edd36cee72d803784229d9628778a7acc1
|