CCXT.load_markets()函数在EC2中运行失败



我在EC2服务器上运行ccxt.load_markets()函数有问题但我检查在本地PC环境下运行是否正常。请帮忙解决

代码和错误信息如下。

python版本:3.7.15CCXT版本:2.2.95

import ccxt
import time
b= ccxt.binance()
print(b.milliseconds())
print(b.nonce())
print(b.load_markets())

16710121336961671012133696回溯(最近一次调用):文件"/usr/local/lib/python3.7/site-packages/ccxt/base/exchange.py",第621行,在fetchresponse.raise_for_status ()文件"/home/ec2-user/.local/lib/python3.7/site-packages/requests/models.py",第953行,在raise_for_status抛出HTTPError(http_error_msg, response=self)request .exceptions. httperror: 451客户端错误:for url: https://api.binance.com/api/v3/exchangeInfo

在处理上述异常时,出现了另一个异常:

Traceback(最近一次调用):文件"test.py",第15行print (b.load_markets ())文件"/usr/local/lib/python3.7/site-packages/ccxt/base/exchange.py",第1448行,在load_marketsMarkets = self.fetch_markets(params)文件"/usr/local/lib/python3.7/site-packages/ccxt/binance.py",第1613行,在fetch_markets .py&quotResponse = getattr(self, method)(query)文件"/usr/local/lib/python3.7/site-packages/ccxt/base/exchange.py",第501行,在inner返回条目(_self, **inner_kwargs)文件"/usr/local/lib/python3.7/site-packages/ccxt/binance.py",行5854,在请求Response = self。Fetch2 (path, api, method, params, headers, body, config, context)文件"/usr/local/lib/python3.7/site-packages/ccxt/base/exchange.py",第2782行,在fetch2回归自我。获取(request['url'], request['method'], request['headers'], request['body'])文件"/usr/local/lib/python3.7/site-packages/ccxt/base/exchange.py",第639行,在fetch自我。Handle_http_status_code (http_status_code, http_status_text, url, method, http_response)文件"/usr/local/lib/python3.7/site-packages/ccxt/base/exchange.py",第1741行,在handle_http_status_code提高ErrorClass(自我。id + ' ' + method + ' ' + url + ' ' + codeAsString + ' ' + reason + ' ' + body)ccext .base.errors. exchangenotavailable: binance GET https://api.binance.com/api/v3/exchangeInfo 451 {"code" 0,根据https://www.binance.com/en/terms中的"b.资格",服务无法从受限制的位置获得。如果您认为收到此消息是错误的,请联系客户服务。}

你得到这个错误,因为请求binance服务器是从一个受限制的位置发送的。由于政策和法规,币安将一些地点列入黑名单。由于您运行在aws EC2实例上,因此您的虚拟服务器很可能位于受限制的位置。使用VPN也是有风险的,因为币安服务器能够识别其中的大多数。解决方案是租用一个从binance可读位置存在的虚拟服务器。

最新更新