我试图通过Bittrex API查看未结订单,但得到的只是一个INVALID_SIGNATURE
响应。
我正在使用Python 3.6。这是我的代码:
import time
import hmac
import hashlib
import requests
apikey = '12345'
apisecret = '56789'
nonce = str(time.time())
url = 'https://bittrex.com/api/v1.1/market/getopenorders?&apikey=' + apikey + '&nonce=' + nonce
signature = hmac.new(apisecret.encode(), url.encode(), hashlib.sha512).hexdigest()
hdrs = {'apisign' : signature}
r = requests.get(url, headers = hdrs)
print(r.json())
我希望得到这样的答复:
{
"success" : true,
"message" : "",
"result" : [{
"Uuid" : null,
"OrderUuid" : "09aa5bb6-8232-41aa-9b78-a5a1093e0211",
"Exchange" : "BTC-LTC",
"OrderType" : "LIMIT_SELL",
"Quantity" : 5.00000000,
…
}
]
}
但是我得到了:
{'success': False, 'message': 'INVALID_SIGNATURE', 'result': None}
我知道我的密钥是正确的,并且故意使用不正确的密钥会将INVALID_SIGNATURE响应更改为 APIKEY_INVALID。我尝试提取其他信息,例如“ getbalance”,“ getorderhistory”等,但它们都给出相同的结果。
我发现了上面代码的许多变体,但是我尝试的每一个都以相同的结果结束。我确定我只是缺少一些简单的东西,但是经过一周的搜索,我仍然不知道为什么它不起作用。
任何见识都会受到赞赏。
谢谢。