0
我想提出一個XMLHttpRequest到BTC - E. API文檔可以在這裏看到:https://btc-e.com/api/documentation的XMLHttpRequest,SHA512和BTC - 電子
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);
看來,散列做得正確,或者至少得到一個正確的期待弦回來。服務器響應:{「success」:0,「error」:「invalid nonce parameter; on key:0,you sent:1389814528941」}
已經掙扎了好幾個小時,無法弄清楚什麼是錯的。
該api是否支持CORS?你的網絡檢查員對這些請求說些什麼,他們看起來像你期望的一樣嗎?爲什麼您的POST數據之前有問號? – Bergi
我使用另一個站點(Bitstamp)以類似的方式完成了它,並且一切都很完美。問號是因爲「按照HMAC-SHA512方法由密鑰簽名的Sign-POST數據(?param = val&param1 = val1);」 – user2718351