Binance API如何正确配置多个加密货币交易对的symbol参数
Binance API多交易对正确配置方案
错误原因说明
你之前的配置方式存在两个核心问题:
- 币安支持多交易对的API端点,参数名为复数
symbols,而非你使用的单数symbol - 多交易对传参要求为JSON数组格式的字符串,不能直接传入Python原生列表、元组、字典结构,同时交易对不能使用带斜杠的
XRP/USDT格式,必须使用币安官方无分隔符的全大写写法。
分场景配置方法
场景1:调用仅支持单交易对的API,批量请求多个交易对
直接遍历交易对列表循环请求即可,示例代码:
import requests # 正确的交易对列表配置 symbols = ['XRPUSDT', 'DOGEUSDT'] # 以最新价格接口为例 api_url = "https://api.binance.com/api/v3/ticker/price" for symbol in symbols: params = {'symbol': symbol} response = requests.get(api_url, params=params) print(response.json())
场景2:调用原生支持多交易对的API
这类接口直接传入JSON序列化后的交易对数组即可,示例代码:
import requests import json symbols = ['XRPUSDT', 'DOGEUSDT'] # 以24小时行情变动接口为例,该接口原生支持多交易对查询 api_url = "https://api.binance.com/api/v3/ticker/24hr" # 注意参数名为复数symbols,值为序列化后的JSON字符串 params = {'symbols': json.dumps(symbols)} response = requests.get(api_url, params=params) print(response.json())
场景3:Websocket订阅多交易对
直接在订阅请求的params字段传入交易对对应频道的数组即可,示例:
{ "method": "SUBSCRIBE", "params": [ "xrpusdt@kline_1m", "dogeusdt@kline_1m" ], "id": 1 }
补充注意事项
- 所有交易对必须严格匹配币安官方的命名规则,全大写、无任何分隔符
- 请求前可先核对对应接口的文档要求,部分特殊接口的多交易对参数可能有额外长度限制
内容的提问来源于stack exchange,提问作者Bryan
相关产品推荐
相关产品推荐

