API Webrequest похож на команду curl - PullRequest
0 голосов
/ 21 марта 2020

Я пытаюсь написать код в C#, чтобы сделать вызов API, похожий на эту команду curl:

$ curl -H "X-MBX-APIKEY: vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A" -X POST 'https://api.binance.com/api/v3/order' -d 'symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000&timestamp=1499827319559&signature=c8db56825ae71d6d79447849e617115f4a920fa2acdcab2b053c4b2838bd6b71'

Это то, что я придумал, но по какой-то причине не могу получить это работает.

Буду признателен за помощь в преобразовании команды curl в httpWebRequest.

private void Binance()
{
    long timeStamp = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();

    var Burl = "https://api.binance.com";
    var Endpoint = "/api/v3/order/test";
    string dataQueryString = "symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC&quantity=1&price=0.1&recvWindow=5000&timestamp=" + timeStamp;

    MessageBox.Show(dataQueryString);

    var akey = "some api key";
    var skey = "some secret key";  //Mijn skey

    byte[] skeyBytes = Encoding.ASCII.GetBytes(skey);

    var signature = CreateToken(dataQueryString, skey);

    var url = Burl + Endpoint + "?" + dataQueryString + "&signature=" + signature;

    HttpClient client = new HttpClient();

    var httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
    httpWebRequest.ContentType = "application/x-www-form-urlencoded";
    httpWebRequest.Accept = "*/*";
    httpWebRequest.Method = "POST";
    httpWebRequest.Headers.Add("X-MBX-APIKEY:" + akey);

    textBox1.Text = url;
    MessageBox.Show(signature);
}
...