2014-02-09 3 views
2

Я пытаюсь использовать API-интерфейс coins-e с приложением node.js, но у меня возникают проблемы с аутентифицированными POST-запросами. У меня есть запрос написан на питоне здесь:urllib2.Request post эквивалент в node.js

post_args['method'] = method   
post_args['nonce'] = nonce   
post_data = urllib.urlencode(post_args) 
required_sign = hmac.new(PRIVATE_KEY, post_data, hashlib.sha512).hexdigest() 
headers = {} 
headers['key'] = PUBLIC_KEY 
headers['sign'] = required_sign 
url_request_object = urllib2.Request("%s/%s" % (BASE_API_URL,url_suffix), 
           post_data, 
           headers)  
response = urllib2.urlopen(url_request_object)  


try: 
    response_content = response.read() 
    response_json = json.loads(response_content) 
    print response_json 
finally: 
    response.close() 

и это node.js код, который я написал пытается сделать то же самое:

var request = require('request'); 
var querystring = require('querystring'); 
var crypto = require('crypto'); 

var post_args = {}; 
post_args['nonce'] = nonce; 
post_args['method'] = method; 
var post_data = querystring.stringify(postdata); 

var hasher = crypto.createHmac('sha512', PRIVATE_KEY); 
hasher.update(post_data); 
var required_sign = hasher.digest('hex'); 

var headers = {}; 

headers['key'] = PUBLIC_KEY; 
headers['sign'] = required_sign; 

var options = { 
    uri: url, 
    qs: post_data, 
    method: 'POST', 
    headers: headers 
}; 

request(options, function(error, response, body){ 
    console.log(body); 
}); 

Глядя, чтобы увидеть, если кто-то может сказать мне, либо какая разница между сообщением, сделанным в python, и тем, что сделано в node.js, или если кто-то может помочь мне настроить почтовый запрос для API-интерфейсов coins-e, который работает в node.js.

Ссылка на монеты-е API: https://www.coins-e.com/exchange/api/documentation/ Описание того, как отформатировать аутентифицированные запросы, составляет примерно половину страницы непосредственно перед входом 6. Спасибо за помощь!

ответ

0

я не там счет, чтобы проверить это, но похоже, что он должен быть

var post_data = querystring.stringify(post_args); 
Смежные вопросы