Cloudflare / Incapsula 的DDoS保护
有些交易所使用Cloudflare或Incapsula的DDoS保护,在交易所处于高负载时 你的IP会被临时阻断,有时他们甚至限制你所在的整个国家和地区的访问。 在这种情况下他们的服务器通常会返回一个页面声明HTTP 40x错误或者 返回一个AJAX测试或验证码,然后推迟几秒钟才载入页面得到临时的访问 许可或者被添加到一个白名单中。
触发DDoS保护、限流或位置过滤的最常见表现有:
- 调用交易所对象的各种方法都返回RequestTimeout异常
- 捕捉到的
ExchangeError
或ExchangeNotAvailable
异常,其HTTP错误码为400, 403, 404, 429, 500, 501, 503, 等等。 - 出现DNS解析问题、SSL证书问题和底层连接问题
- 从交易所API返回HTML页面而非JSON对象
如果你遇到DDoS保护错误,并且无法访问特定的交易所,那么可以尝试如下方法:
- 尝试使用cloudscraper:
- 使用一个代理服务器(不过会导致响应变慢)
- 要求交易所的技术支持人员将你加入白名单
- 在临近交易所的地方(同国、同城、同数据中心、同机架、同服务器)运行你的软件
- 尝试不同地理位置的其他IP
- 在一组分布网络服务器上运行你的软件