2014-10-08 63 views
0

我一直在嘗試在C#應用程序中查詢coin.mx網站,並且我不斷收到403禁止的錯誤。他們的例子使用Python:coin.mx不斷給我403禁止的錯誤在我的網絡請求

base64.b64encode(str(HMAC(YOUR_SECRET, PATH+'?'+S, sha512).digest())), 

其中,路徑是

給我的祕密HTTP路徑(例如 「/ API/V2 /貿易商/信息」)的形式爲 「d1e2a3d4」 十六進制字符串,我計算我的簽名如下:

HMACSHA512 mHasher512 = new HMACSHA512(secret); 
var path = "/api/v2/trader/info?nonce=123" 
var msg = Encoding.ASCII.GetBytes(path); 
var hash = mHasher512.ComputeHash(msg); 
var hashb64 = Convert.ToBase64String(hash); 
return hashb64; 

這看起來是不是正確?

參考:https://coin.mx/coinmx_api_en.pdf

回答

0

我有同樣的問題,並發現了這個問題,同時尋找解決的辦法。我最終通過刪除路徑字符串中的?來解決問題。嘗試改變你的路徑變量如下(這只是爲了獲得散列字符串,GET請求當然仍然需要?)。

var path = "/api/v2/trader/infononce=123" 

注意文檔看起來不正確。我通過查看示例python代碼瞭解了這一點。