Próbuję użyć Pythona, aby uzyskać dostęp do handlowego API na poloniex.com, giełdzie kryptowalut. Aby to zrobić, muszę obserwować tą receptę:Jak mogę podpisać żądanie POST za pomocą HMAC-SHA512 i biblioteki żądań Pythona?
wszystkich wywołań API handlu są wysyłane za pośrednictwem HTTP POST do https://poloniex.com/tradingApi i musi zawierać następujące nagłówki:
Key - Twój klucz API.
Znak - dane POST zapytania są podpisane kluczem tajnym klucza zgodnie z metodą HMAC-SHA512.Ponadto wszystkie zapytania muszą zawierać parametr POST "jednorazowy". Parametr nonce jest liczbą całkowitą, która zawsze musi być większa od poprzedniej wartości.
Oto, co mam do tej pory. Mój obecny problem polega na tym, że nie wiem, jak skompilować URL POST, aby można go było podpisać bez uprzedniego wysłania niekompletnego żądania. To oczywiście nie działa.
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)
To było takie szybkie, wielkie dzięki! – Werhli
@MartijnPieters po uruchomieniu tego otrzymuję komunikat o błędzie: Obiekt "Żądanie" nie ma atrybutu "treść". dla tej linii: signature = hmac.new (secret, request.body, digestmod = hashlib.sha512) –
@abcla corrected –