C# 带参数的Bitstamp API POST请求
请用C#帮助我处理POST api请求。我不知道如何在POST请求中正确发送参数“key”、“signature”和“nonce”。它不断告诉我“缺少key、signature和nonce参数”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) {
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事务)。