这两行代码几乎完全相同,但它们产生不同的结果

时间:2017-10-07 09:25:44

标签: vb.net

我写了一个访问hitbtc API的代码。它不起作用。我复制了hitbtc提供的代码。有用。我想看看原始代码出了什么问题。所以我把代码放在一边。事实上,为了确保没有误解,我慢慢地从hitbtc更改了正确的代码,并用从错误代码计算的变量替换它。

结果不同。

第一个代码仍然失败。第二个代码正在运作。

我不知道为什么。

看看这些。这是相同的代码。它使用与一次使用完全相同的变量。

    Dim nonce = exchanges.getNonce().ToString

此代码无效

    Dim wc = New RestClient("https://api.hitbtc.com")
    Dim request = New RestRequest("/api/1/trading/balance", Method.GET)
    request.AddParameter("nonce", nonce)
    request.AddParameter("apikey", _apiKey)
    Dim texttobeSigned = wc.BuildUri(request).PathAndQuery()
    Dim sigHash2 = CalculateSignature1(texttobeSigned, _secret)
    request.AddParameter("X-Signature", sigHash2)
    Dim response = wc.Execute(request)
    'Dim sigsig1 = String.Concat(hasher.Hash.Select(Function(x) x.ToString("x2")).ToArray())
    Dim content = response.Content '"{"error":{"code":1001,"message":"Missing signature header parameter","description":""}}"

在那段代码之后,我这样做了。这个有效。

    wc = New RestClient("https://api.hitbtc.com")
    request = New RestRequest("/api/1/trading/balance", Method.GET)
    request.AddParameter("nonce", nonce)
    request.AddParameter("apikey", _apiKey)
    request.AddHeader("X-Signature", sigHash2)
    response = wc.Execute(request)
    content = response.Content '{"balance":[{"currency_code":"1ST","cash":"0","reserved":"0"},{"currency_code":"8BT","cash":"0","reserved":"0"},{"

1 个答案:

答案 0 :(得分:2)

@Ahmes_Abdelhammed评论的复制粘贴,以便您关闭此问题:

  

在第一个区块中,您正在使用.AddParameter(“X-Signature”,...,而在第二个区域中,您有.AddHeader(“X-Signature”,..

此致