GetResponse Bittrex C#

Я пытаюсь восстановить информацию в C# о криптовалюте на платформе обмена bittrex.

Для этого у меня есть этот сайт: https://bittrex.com/api/v1.1/public/getticker?market=BTC-LTC. С Chrome у меня есть такой результат:

{ "Успех": правда, "сообщение": "", "результат":"Bid":0.01678600,"Ask":0.01680095,"Последний":0.01678600}}

И я хочу восстановить это. Итак, в моей форме я установил:

публичная переменная:

public const string BaseUrl = "https://bittrex.com/api/v1.1/public/getticker?market=BTC-LTC";

Публичное событие кнопки:

var webreq = WebRequest.Create(BaseUrl);
var webresp = webreq.GetResponse();
MessageBox.Show("" + webresp);

Когда я запускаю эту программу, я получаю сообщение об ошибке аутентификации, но я только когда читаю информацию с открытым ключом.

Кто-нибудь знает, где я не прав? и как я могу обойти эту проблему аутентификации?

ОБНОВЛЕНИЕ: Благодаря Дитеру B, у меня все еще есть ошибка аутентификации, я не уверен в кодировании и необходимом формате времени. У вас есть какие-либо подсказки?

 public static string time = DateTime.Now.ToString();
    public static string apisecret = "f**********************************d";
    public static string BaseUrl = "https://bittrex.com/api/v1.1/public/getticker?market=BTC-LTC?apikey=56************************61a&nonce="+time;
    public static readonly Encoding encoding = Encoding.UTF8;
    public static string sbinary;
    /// <summary>
    /// Point d'entrée principal de l'application.
    /// </summary>
    [STAThread]



    static void Main()
    {

        var keyByte = encoding.GetBytes(BaseUrl);
        using (var hmacsha256 = new HMACSHA256(keyByte))
        {
            hmacsha256.ComputeHash(encoding.GetBytes(apisecret));
            sbinary = ByteToString(hmacsha256.Hash);
        }

        HttpWebRequest GETRequest = (HttpWebRequest)WebRequest.Create(BaseUrl);
        GETRequest.Headers.Add("apisign", sbinary);
        GETRequest.Method = "GET";
        MessageBox.Show(sbinary);

            HttpWebResponse GETResponse = (HttpWebResponse)GETRequest.GetResponse();
            Stream GETResponseStream = GETResponse.GetResponseStream();
            StreamReader sr = new StreamReader(GETResponseStream);
            MessageBox.Show(sr.ReadToEnd());

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }


        static string ByteToString(byte[] buff)
        {
            string sbinary = "";
            for (int i = 0; i < buff.Length; i++)
                sbinary += buff[i].ToString("X2"); /* hex format */
            return sbinary;

        }

Спасибо

0 ответов

Другие вопросы по тегам