मैं एक क्रिप्टोकुरेंसी एक्सचेंज, poloniex.com पर ट्रेडिंग एपीआई तक पहुंचने के लिए पायथन का उपयोग करने की कोशिश कर रहा हूं। आपकी API कुंजी -मैं एचएमएसी-एसएचए 512 और पायथन अनुरोध पुस्तकालय का उपयोग कर एक POST अनुरोध पर हस्ताक्षर कैसे करूं?
कुंजी: ऐसा करने के लिए मैं इस पर्चे पालन करना होगा:
व्यापार एपीआई के लिए सभी कॉल https://poloniex.com/tradingApi करने के लिए HTTP POST द्वारा भेजे जाने और निम्न हेडर शामिल होना चाहिए।
साइन इन करें - HMAC-SHA512 विधि के अनुसार आपकी कुंजी के "गुप्त" द्वारा हस्ताक्षरित क्वेरी का POST डेटा।इसके अतिरिक्त, सभी प्रश्नों में एक "nonce" POST पैरामीटर शामिल होना चाहिए। Nonce पैरामीटर एक पूर्णांक है जो हमेशा इस्तेमाल किए गए पिछले गैरसे से अधिक होना चाहिए।
यहां तक कि मेरे पास अब तक है। मेरा वर्तमान मुद्दा यह है कि मुझे नहीं पता कि 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 जब मैं इसे चलाता हूं मुझे एक त्रुटि मिलती है: 'अनुरोध' ऑब्जेक्ट में कोई विशेषता 'बॉडी' नहीं है। इस पंक्ति के लिए: हस्ताक्षर = hmac.new (गुप्त, request.body, digestmod = hashlib.sha512) –
@abcla –