开发文档
使用此接口可以实现应用与云端的对接。适合用户进行对接开发程序,本页面对各项参数进行介绍及解释,便于用户的开发使用。温馨提示:check为二次效验功能,计算规则为md5(服务器返回的时间戳+APPKEY)
协议规则
传输方式:HTTPS(本地测试可用 HTTP)
提交方式:GET(保持 /api.php 兼容)
返回格式:JSON
数据模式:RC4、AES-256-GCM 或明文测试模式
签名算法:MD5
字符编码:UTF-8
使用此接口可以实现应用与云端的对接。适合用户进行对接开发程序,本页面对各项参数进行介绍及解释,便于用户的开发使用。温馨提示:check为二次效验功能,计算规则为md5(服务器返回的时间戳+APPKEY)
传输方式:HTTPS(本地测试可用 HTTP)
提交方式:GET(保持 /api.php 兼容)
返回格式:JSON
数据模式:RC4、AES-256-GCM 或明文测试模式
签名算法:MD5
字符编码:UTF-8
已注册普通注册为例:
代码示例:
Sign = 取MD5值("user=" + 编辑框_user.内容 + "&password=" + 编辑框_mima.内容 + "&inv=" + 编辑框_inv.内容 + "&markcode=" + 机器码 + "&t=" + 取现行时间戳(2) + "&" + APPKEY)
后台“加密请求”会按应用生成可直接运行的 Python 模板。登录接口是 kmlogon,心跳接口是 kmheartbeat;kami 是卡密,markcode 是用户身份 ID。
GET /api.php?api=kmlogon&app=APPID&data=密文
密文解开后才包含:api、app、t、kami、markcode、nonce、sign
AES/RC4 模式不会再把时间戳 t 单独暴露在 URL;服务器仍会在解密后校验时间窗口。明文测试无法隐藏字段。
pip install requests cryptography
# 登录后台 → 加密请求 → 选择应用 → 复制完整 Python 请求模板
# 模板会自动登录、校验 check/Ed25519/响应 nonce,并在启用后周期调用 kmheartbeat。
登录成功后服务器返回短期 msg.session_token 和建议间隔。每次心跳都使用新的 nonce 和严格递增的 seq;服务器会重新检查卡密是否存在、启用、属于当前应用、身份 ID 是否一致、是否过期及可选绑定 IP。超时或后台禁用卡密后,客户端必须停止受保护功能并重新登录。
系统默认使用服务器看到的 REMOTE_ADDR,不会直接信任客户端提交的转发头。使用 CDN 或反向代理时,必须在后台“可信代理 IP / 网段”中填写代理出口后,系统才会读取对应的转发头。后台还可设置同一 IP 每分钟 API 请求上限,超过后返回 182 并提示稍后重试。
105 请求时间超出允许范围;112 身份 ID 错误;148 卡密为空;149 卡密不存在或应用不匹配;150 卡密已绑定;151 卡密禁用;169 IP 不一致;175 nonce 无效;176 重放请求;177 会话无效;178 心跳超时;179 心跳序号重复;180 心跳配置不可用;181 登录过于频繁;182 API 请求过于频繁;201 卡密到期或不可用。
响应包含 time(服务器时间)、msg.vip(授权到期时间)、可选的 nonce 与 ed25519。这些机制可以显著提高篡改和重放成本,但客户端程序中的密钥仍可能被逆向提取;重要业务逻辑应尽量放在服务器端。