因FMZ平台程序启动和报错日志检查不方便
所以本地用Python访问交易所接口,以便做快速的验证,访问币安、OK、火币均遇到 【…Max retries exceed with url…】的问题。
挂了梯子并且浏览器可以访问交易所网站,并且打开行情接口可获得结果,如 https://api.binance.com/api/v3/ticker/price
使用curl https://api.binance.com/api/v3/ticker/price 可以获得结果,如果curl无法请求或请求失败,那就是梯子的网络没配置好(没有让桌面程序也走代理 需做相关配置)
以上,在浏览器和curl均可正常访问的情况下,使用如下代码
import requests
response = requests.get("http://api.binance.com/api/v3/ticker/price")
print(response.text)
在Python代码请求中加入代理的地址,指定走网络代理,但是这块有个问题是本地测试需要代理,而部署到FMZ或者云服务器中可能不需要代理,需在部署时删除相关代码。
proxies = {
"http":"http://127.0.0.1:33210", # 改为自己本地梯子代理的端口号
"https":"http://127.0.0.1:33210" # 改为自己本地梯子代理的端口号
}
response = requests.get("http://api.binance.com/api/v3/ticker/price", proxies=proxies)
print(response.text)
以上,仅为个人尝试,如不适用,请谅解,谢谢。
发明者量化 感谢分享, python本身很强大,如果是其它语言可以直接使用HttpQuery支持走代理分发 ` HttpQuery("socks5://127.0.0.1:8889/http://www.baidu.com/") ` 如果想加入自适应,可以先用Dial判断代理服务器是否打开,如果没有打开,是线上环境,可以不用加代理协议前缀
小七 学习了,感谢。