API 使用文档

签名服务接口说明 · 鉴权 · 示例 · 错误码

1. 接口地址

方法路径说明
POST/v1/xheaders/sign生成七头签名
GET/v1/xheaders/health服务健康状态
GET/v1/xheaders/self-test自检(SM3/selector/codeword)

2. 鉴权方式

在控制台注册后获得 qs_ 开头的 API Key,调用签名接口时放入请求头:

Authorization: Bearer qs_你的Key

3. 请求参数

字段类型必填说明
urlstring被签名的完整 URL(含 query)
body_b64string最终 HTTP Body 的 Base64(可为空串)
instancestring设备实例名,留空用服务端默认设备上下文
optionsobject确定性复现参数(调试用)

4. 请求示例(curl)

curl -X POST https://<host>/v1/xheaders/sign \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer qs_你的Key" \
  -d '{
    "url": "https://api.qishui.com/luna/track_v2?aid=8478&_rticket=1784311334346",
    "body_b64": "e30="
  }'

5. 请求示例(Node.js)

// 零依赖:仅用内置 https/fetch(Node 18+)
const resp = await fetch('https://<host>/v1/xheaders/sign', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer qs_你的Key',
  },
  body: JSON.stringify({
    url: 'https://api.qishui.com/luna/track_v2?aid=8478',
    body_b64: Buffer.from(JSON.stringify({x:1})).toString('base64'),
  }),
});
const data = await resp.json();
console.log(data.headers); // X-Khronos / X-SS-STUB / X-Argus / ...

6. 响应结构

{
  "headers": {
    "X-Khronos": "1784311334",
    "X-SS-STUB": "FB72D7B20B5E5BD41547DB9476A8E3D1",
    "X-Argus": "Jm5aag==",
    "X-Gorgon": "8404...",
    "X-Helios": "...",
    "X-Ladon": "...",
    "X-Medusa": "..."
  },
  "diagnostics": { "selector": 3, "profile": "10fde8" }
}

7. 错误码

HTTPcode说明
401unauthorizedKey 无效或缺失
403account_disabled账号已被管理员禁用
429rate_limitedQPS 超限(令牌桶限速)
429daily_quota_exceeded每日免费额度用尽,次日 00:00 重置
400invalid_request请求体非法(缺 url / body_b64)
404unknown_instance指定 instance 不存在

8. 配额与限速

每位用户有「每日免费调用次数」配额(默认 1000,管理员可调,每日 00:00 重置)与 「QPS」限速(每分钟请求上限,令牌桶平滑限流)。超限均返回 429, 可在控制台「今日调用情况」查看用量与剩余。