You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Binance Socket Manager API中获取交易对信息并解决Invalid symbol报错

问题原因

你遇到的APIError(code=-1121): Invalid symbol报错核心是请求的交易对不符合币安API的规则,具体可分为三类:

  • 命名规则错误:币安现货交易对无下划线分隔符,法币交易对无T后缀,你测试的BTC_AUD、BTC_AUDT、BTCAUDT都不符合官方命名规范,天然无效。
  • 节点匹配错误:你写的BTCAUD本身是币安主网有效交易对,报错大概率是你当前连接的API节点不支持该交易对,常见场景是连接了币安测试网、币安美国站等不包含法币交易对的节点。
  • 区域访问限制:部分区域访问默认API节点时,返回的交易对列表会做裁剪,无法返回法币交易对。

解决方案

步骤1:统一使用正确的交易对命名

你需要的三个交易对正确写法为:BTCAUD、BTCEUR、BTCGBP,其余写法直接废弃。

步骤2:修正客户端初始化参数

初始化Client时指定主网域名后缀,适配访问区域,不要开启测试网模式(测试网不提供法币交易对支持),示例:

# 访问币安国际主站用tld='com',访问币安美国站用tld='us',不要加testnet=True参数
client = Client(api_key, api_secret, tld='com')
# 不需要签名的公开接口可以不传密钥,也能调用成功
# client = Client(None, None, tld='com')

步骤3:先确认交易对存在(可选排查步骤)

运行以下代码打印当前节点支持的BTC相关法币交易对,确认目标交易对在列表中:

all_tickers = client.get_all_tickers()
btc_fiat_pairs = [t['symbol'] for t in all_tickers if t['symbol'].startswith('BTC') and t['symbol'] in ['BTCAUD', 'BTCEUR', 'BTCGBP']]
print(btc_fiat_pairs)

步骤4:正确调用接口获取数据

确认交易对存在后,即可正常调用:

# 单个获取
btc_aud_price = client.get_symbol_ticker(symbol="BTCAUD")
print(btc_aud_price)

# 批量获取三个交易对数据
batch_price = client.get_symbol_ticker(symbols=["BTCAUD", "BTCEUR", "BTCGBP"])
print(batch_price)

内容的提问来源于stack exchange,提问作者Mohammad Izaan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 23:15:01