Я пытаюсь использовать Python для доступа к торговому API на poloniex.com, cryptocurrency exchange. Для этого я должен следовать этому рецепту:Как подписать запрос POST с использованием HMAC-SHA512 и библиотеки запросов Python?
Все вызовы к торговой API отправляются с помощью HTTP POST для https://poloniex.com/tradingApi и должен содержать следующие заголовки:
Key - Ваш ключ API.
Знак - данные POST запроса, подписанные секретным ключом вашего ключа в соответствии с методом HMAC-SHA512.Кроме того, все запросы должны включать параметр «nonce» POST. Параметр nonce представляет собой целое число, которое всегда должно быть больше предыдущего неиспользованного.
Вот что у меня есть. Моя текущая проблема заключается в том, что я не знаю, как скомпилировать URL-адрес POST, чтобы он мог быть подписан без первоначального запроса неполного запроса. Это явно не работает.
import requests
import hmac
import hashlib
import time
headers = { 'nonce': '',
'Key' : 'myKey',
'Sign': '',}
payload = { 'command': 'returnCompleteBalances',
'account': 'all'}
secret = 'mySecret'
headers['nonce'] = int(time.time())
response = requests.post('https://poloniex.com/tradingApi', params= payload, headers= headers)
headers['Sign'] = hmac.new(secret, response.url, hashlib.sha512)
Это было так быстро, спасибо! – Werhli
@MartijnPieters, когда я запускаю это, я получаю сообщение об ошибке: объект «Запрос» не имеет атрибута «тело». для этой строки: signature = hmac.new (secret, request.body, digestmod = hashlib.sha512) –
@abcla исправлено –