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

EC2服务器中ccxt.load_markets()运行失败求助

EC2服务器调用CCXT load_markets()失败的解决办法

问题详情

在EC2服务器运行CCXT的load_markets()函数时返回451错误,本地PC环境运行相同代码则正常。相关环境信息:

  • Python版本:3.7.15
  • CCXT版本:2.2.95
  • 运行代码:
import ccxt
import time

b= ccxt.binance()

print(b.milliseconds())
print(b.nonce())
print(b.load_markets())

错误信息(翻译后)

1671012133696
1671012133696
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/ccxt/base/exchange.py", line 621, in fetch
    response.raise_for_status()
  File "/home/ec2-user/.local/lib/python3.7/site-packages/requests/models.py", line 953, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 451 Client Error:  对应地址: https://api.binance.com/api/v3/exchangeInfo

在处理上述异常期间,又发生了新的异常:

Traceback (most recent call last):
  File "test.py", line 15, in <module>
    print(b.load_markets())
  File "/usr/local/lib/python3.7/site-packages/ccxt/base/exchange.py", line 1448, in load_markets
    markets = self.fetch_markets(params)
  File "/usr/local/lib/python3.7/site-packages/ccxt/binance.py", line 1613, in fetch_markets
    response = getattr(self, method)(query)
  File "/usr/local/lib/python3.7/site-packages/ccxt/base/exchange.py", line 501, in inner
    return entry(_self, **inner_kwargs)
  File "/usr/local/lib/python3.7/site-packages/ccxt/binance.py", line 5854, in request
    response = self.fetch2(path, api, method, params, headers, body, config, context)
  File "/usr/local/lib/python3.7/site-packages/ccxt/base/exchange.py", line 2782, in fetch2
    return self.fetch(request['url'], request['method'], request['headers'], request['body'])
  File "/usr/local/lib/python3.7/site-packages/ccxt/base/exchange.py", line 639, in fetch
    self.handle_http_status_code(http_status_code, http_status_text, url, method, http_response)
  File "/usr/local/lib/python3.7/site-packages/ccxt/base/exchange.py", line 1741, in handle_http_status_code
    raise ErrorClass(self.id + ' ' + method + ' ' + url + ' ' + codeAsString + ' ' + reason + ' ' + body)
ccxt.base.errors.ExchangeNotAvailable: binance GET https://api.binance.com/api/v3/exchangeInfo 451  {
"code": 0,
"msg": "根据服务条款中的'b. 资格'条款,受限地区无法访问服务。如果认为收到此消息有误,请联系客服。"
}

问题原因

Binance的地域访问限制策略拦截了EC2服务器的IP地址,导致无法访问其API接口。本地环境IP不在限制列表中,因此可以正常运行。

解决方案

  • 配置代理:在EC2服务器上设置合规的代理服务,将API请求转发到Binance允许访问的地区IP。
  • 更换EC2区域:选择Binance未限制的AWS区域(如新加坡、东京等)重新创建EC2实例。
  • 账号合规验证:确认Binance账号注册地区与服务器所在地区是否匹配,若存在不符可联系Binance客服核实权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 20:20:40