速率限制
连接数量限制
每IP地址、每5分钟最多可以发送300次连接请求。
速率限制基本信息
exchangeInfo有包含与速率限制相关的信息。- 根据不同的间隔,有多种频率限制类型。
- 从响应中的可选
rateLimits字段,能看到当前的频率限制状态。 - 当您超出未成交订单计数或者请求速率限制时,请求会失败并返回 HTTP 状态代码 429。
如何咨询频率限制
频率限制状态的响应可能如下所示:
{
"id": "7069b743-f477-4ae3-81db-db9b8df085d2",
"status": 200,
"result": {
"serverTime": 1656400526260
},
"rateLimits": [
{
"rateLimitType": "REQUEST_WEIGHT",
"interval": "MINUTE",
"intervalNum": 1,
"limit": 6000,
"count": 70
}
]
}
rate Limits 数组描述了受请求影响的所有当前的速率限制。
| 名称 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
rateLimitType | ENUM | YES | 频率限制类型: REQUEST_WEIGHT, ORDERS |
interval | ENUM | YES | 频率限制间隔: SECOND, MINUTE, HOUR, DAY |
intervalNum | INT | YES | 频率限制间隔乘数 |
limit | INT | YES | 每个间隔的请求限制 |
count | INT | YES | 每个间隔的当前使用情况 |
频率限制按间隔计算。
例如,1 MINUTE 间隔表示每分钟开始。
在 00:01:23.456 提交的请求计入 00:01:00 分钟的限制。
一旦 00:02:00 分钟开始,计数将再次重置为零。
其他间隔的行为方式类似。
例如,1 DAY 频率限制是在每天 00:00 UTC 重置,并且 10 SECOND 间隔重置为每分钟的 00、10、20...秒。
API 有多种频率限制间隔。 如果您用完了较短的间隔但较长的间隔仍然允许请求,您将不得不等待较短的间隔到期并重置。 如果你用完了更长的间隔,你将不得不等待那个间隔重置,即使较短的频率限制计数为零。
如何显示/隐藏频率限制信息
默认情况下,每个响应都包含 rateLimits 字段。
但是,频率限制信息可能非常大。
如果您对每个请求的详细频率限制状态不感兴趣,可以从响应中省略 rateLimits 字段。
-
请求中的可选
returnRateLimitsboolean 参数。使用
returnRateLimits参数控制是否包含rateLimits字段以响应单个请求。默认请求和响应:
{ "id": 1, "method": "time" }{
"id": 1,
"status": 200,
"result": { "serverTime": 1656400526260 },
"rateLimits": [
{
"rateLimitType": "REQUEST_WEIGHT",
"interval": "MINUTE",
"intervalNum": 1,
"limit": 6000,
"count": 70
}
]
}没有频率限制状态的请求和响应:
{ "id": 2, "method": "time", "params": { "returnRateLimits": false } }{ "id": 2, "status": 200, "result": { "serverTime": 1656400527891 } } -
连接 URL 中可选的
returnRateLimitsboolean 参数。如果您希望在默认情况下从所有响应中省略
rateLimits,可以在 query string 中使用returnRateLimits参数:wss://ws-api.binance.com:443/ws-api/v3?returnRateLimits=false这将使通过此连接发出的所有请求的行为就像您已传了
"returnRateLimits":false一样。如果您_想_查看特定请求的频率限制,您需要特定传
"returnRateLimits":true参数。
注意: 如果您在响应中隐藏 rateLimits 字段,您的请求仍然还是会受到频率限制的。