Python 3调用CoinGlass API获取多币种资金费率数据遇问题求助
问题分析与解决方法
问题根源
你当前的代码错误地将变量名symbol_list直接拼进了URL的symbol参数中,导致API收到的请求参数是symbol=symbol_list——这并不是一个有效的币种符号,因此API无法返回数据。
解决方案
根据你提供的CoinGlass API文档,funding_rates_chart接口的symbol参数仅支持单个币种值。因此需要遍历你的币种列表,为每个币种单独发起API请求。
修改后的代码
import requests symbol_list = ['BTC', 'ETH'] headers = {'coinglassSecret': '1be40c5d2d71425084cd08b9e9817557'} # 遍历币种列表,逐个请求数据 for symbol in symbol_list: # 推荐用params传递参数,自动处理URL编码 url = "https://open-api.coinglass.com/api/pro/v1/futures/funding_rates_chart" params = {'symbol': symbol, 'type': 'C'} response = requests.get(url, headers=headers, params=params) print(f"=== 币种 {symbol} 资金费率数据 ===") print(response.text.encode('utf8'))
额外说明
- 若后续CoinGlass API更新支持多币种批量查询(比如允许用逗号分隔多个币种,如
symbol=BTC,ETH),可以直接构造包含多币种的参数,但目前根据文档信息,该接口仅支持单个币种请求。 - 注意API的调用频率限制,避免短时间内发送过多请求触发限流机制。
内容的提问来源于stack exchange,提问作者Hamideh
相关产品推荐
相关产品推荐

