Я сделав XMLHttpRequest для BTC - документации API Е. можно увидеть здесь: https://btc-e.com/api/documentationXMLHttpRequest, SHA512 и BTC - E
var apiKey;
var apiSec;
var response;
var nonce;
var sign;
function signMessage() {
nonce = (new Date()).getTime().toString();
var hash = CryptoJS.HmacSHA512("?method=getInfo&nonce=" + nonce, apiSec);
sign = hash.toString(CryptoJS.enc.Hex);
}
function getPrice() {
var req = new XMLHttpRequest();
req.open("POST","https://btc-e.com/tapi", false);
req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
req.setRequestHeader("Key", apiKey);
req.setRequestHeader("Sign", sign);
req.send("method=getInfo&nonce=" + nonce);
req.onload = function() {
response = JSON.parse(req.responseText);
};
}
signMessage();
getPrice();
console.log(responce);
Кажется, что хеширование сделано правильно или, по крайней мере, получать правильное глядя строка назад. Ответ сервера: {«успех»: 0, «ошибка»: «недействительный параметр nonce; по ключу: 0, вы отправили: 1389814528941»}
Боролись часами и не могли понять, что не так.
Поддерживает ли это ави поддержку CORS? Что скажет ваш сетевой инспектор о запросах, они выглядят так, как вы ожидаете? Почему вашим данным POST предшествует знак вопроса? – Bergi
Я сделал это аналогичным образом с использованием другого сайта (Bitstamp), и все сработало отлично. Вопросительный знак - это потому, что «Sign - POST data (? Param = val & param1 = val1), подписанный секретным ключом в соответствии с методом HMAC-SHA512»; – user2718351