快速开始¶
本节带你完成一次最小可用调用:获取 Token、生成签名、访问受保护接口。
前置条件¶
- 你已经拿到可用的
client_id与client_secret - 本地时间与服务端时间偏差不超过 60 秒
- 请求工具支持自定义 Header,例如
curl、Postman、Pythonrequests
第一步:获取 Token¶
请求 URL¶
请求头¶
| Header | 必填 | 示例 |
|---|---|---|
Content-Type |
是 | application/json |
请求体¶
请求示例¶
curl -X POST "https://stock-data-api.aibot6.cn/v1/api/token" \
-H "Content-Type: application/json" \
-d '{"client_id":"demo","client_secret":"s3cr3t"}'
200 OK¶
{
"code": 1,
"message": "OK",
"data": {
"token": "<64-hex>",
"expire_at": "2025-12-06 20:00:00",
"enable_log": false,
"token_bytes": 64
}
}
第二步:生成签名¶
受保护接口统一要求:
Authorization: Bearer <token>X-Timestamp: <epoch-seconds>X-Nonce: <random-string>X-Signature: <md5(token + timestamp + nonce + body)>
Python 示例¶
import hashlib
import time
token = "<your_token>"
timestamp = str(int(time.time()))
nonce = hashlib.md5(str(time.time()).encode("utf-8")).hexdigest()
body = b""
signature = hashlib.md5(
token.encode() + timestamp.encode() + nonce.encode() + body
).hexdigest()
第三步:调用示例接口¶
请求 URL¶
请求示例¶
ts=$(date +%s)
nonce=$(openssl rand -hex 8)
body=""
sig=$(python3 - <<PY
import hashlib
token = "$TOKEN"
ts = "$ts"
nonce = "$nonce"
body = b""
print(hashlib.md5(token.encode()+ts.encode()+nonce.encode()+body).hexdigest())
PY
)
curl "https://stock-data-api.aibot6.cn/v1/api/kline?code=000001.SZ&freq=D&start=2020-01-01&end=2020-01-02" \
-H "Authorization: Bearer $TOKEN" \
-H "X-Timestamp: $ts" \
-H "X-Nonce: $nonce" \
-H "X-Signature: $sig"
常见失败¶
400 Bad Request¶
401 Unauthorized¶
403 Forbidden¶
404 Not Found¶
下一步¶
推荐继续阅读: