J'essaie d'utiliser Python pour accéder à l'API de trading sur poloniex.com, un échange de crypto-monnaie. Pour ce faire, je dois suivre cette prescription:Comment puis-je signer une requête POST à l'aide de HMAC-SHA512 et de la bibliothèque de requêtes Python?
Tous les appels à l'API de trading sont envoyés via HTTP POST à https://poloniex.com/tradingApi et doit contenir les en-têtes suivants:
Key - Votre clé API.
Signe - Les données POST de la requête sont signées par le "secret" de votre clé selon la méthode HMAC-SHA512.De plus, toutes les requêtes doivent inclure un paramètre POST "nonce". Le paramètre nonce est un entier qui doit toujours être supérieur au nonce précédent utilisé.
Voici ce que j'ai jusqu'à présent. Mon problème actuel est que je ne sais pas comment compiler l'url POST afin qu'il puisse être signé sans envoyer la requête incomplète en premier. Cela ne fonctionne évidemment pas.
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)
C'était tellement rapide, merci beaucoup! – Werhli
@MartijnPieters lorsque j'exécute ceci, j'obtiens une erreur disant: l'objet 'Request' n'a pas d'attribut 'body'. pour cette ligne: signature = hmac.new (secret, request.body, digestmod = hashlib.sha512) –
@abcla corrigé –