使用Python的Bittrex API无效签名响应

时间:2018-12-07 03:10:25

标签: api python-requests hmac sign

我试图通过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”等,但它们都给出相同的结果。

我发现了上面代码的许多变体,但是我尝试的每一个都以相同的结果结束。我确定我只是缺少一些简单的东西,但是经过一周的搜索,我仍然不知道为什么它不起作用。

任何见识都会受到赞赏。

谢谢。

0 个答案:

没有答案