C# 带参数的Bitstamp API POST请求

C# 带参数的Bitstamp API POST请求,c#,api,C#,Api,请用C#帮助我处理POST api请求。我不知道如何在POST请求中正确发送参数“key”、“signature”和“nonce”。它不断告诉我“缺少key、signature和nonce参数” HttpWebRequest webRequest =(HttpWebRequest)System.Net.WebRequest.Create("https://www.bitstamp.net/api/balance/"); if (webRequest != null) {

请用C#帮助我处理POST api请求。我不知道如何在POST请求中正确发送参数“key”、“signature”和“nonce”。它不断告诉我“缺少key、signature和nonce参数”

HttpWebRequest webRequest =(HttpWebRequest)System.Net.WebRequest.Create("https://www.bitstamp.net/api/balance/");
   if (webRequest != null)
   {
       webRequest.Method = HttpMethod.Post;
       webRequest.ContentType = "application/json";
       webRequest.UserAgent = "BitstampBot";
       byte[] data = Convert.FromBase64String(apisecret);
       string nonce = GetNonce().ToString();
       var prehash = nonce + custID + apikey;
       string signature = HashString(prehash, data);
       body = Serialize(new
       {
           key=apikey,
           signature=signature,
           nonce=nonce
       });

       if (!string.IsNullOrEmpty(body))
       {
           var data1 = Encoding.UTF8.GetBytes(body);
           webRequest.ContentLength = data1.Length;
           using (var stream = webRequest.GetRequestStream()) stream.Write(data1, 0, data1.Length);
       }
       using (Stream s = webRequest.GetResponse().GetResponseStream())
       {
           using (StreamReader sr = new System.IO.StreamReader(s))
           {
               contentBody = await sr.ReadToEndAsync();
                   return contentBody;
           }
       }
   }
位戳在中指定的“请求参数”实际上应该与内容类型“application/x-www-form-urlencoded”而不是“application/json”一起发送

我还将使用HttpClient来执行post,因为它有一个更简单的设置来执行Http请求

using (var client = new HttpClient())
{
    var content = new FormUrlEncodedContent(new[]
    {
        new KeyValuePair<string, string>("key", apikey),
        new KeyValuePair<string, string>("signature", signature),
        new KeyValuePair<string, string>("nonce", nonce)
    });
    var result = await client.PostAsync("https://www.bitstamp.net/api/balance/", content);
    string resultContent = await result.Content.ReadAsStringAsync();
}
使用(var-client=new-HttpClient())
{
var content=newformurlencodedcontent(new[]
{
新的KeyValuePair(“key”,apikey),
新的KeyValuePair(“签名”,签名),
新的KeyValuePair(“nonce”,nonce)
});
var result=wait client.PostAsync(“https://www.bitstamp.net/api/balance/“,内容);
字符串resultContent=wait result.Content.ReadAsStringAsync();
}

我找不到指定如何发布的位置(用户\u事务)。