[SOLVED] huobi.pro - api

  • Автор темы Автор темы VsVal
  • Дата начала Дата начала

VsVal

Client
Регистрация
26.08.2016
Сообщения
18
Реакции
0
Баллы
1
Описание api huobi.pro вроде подробное запутаться тяжело но есть момент где невозможно понять что они делают точнее код который пытаешься применить или взять из образцов просто не то выдает что должно быть.
Есть строка образец

GET\n
api.huobi.pro\n
/v1/order/orders\n
AccessKeyId=e2xxxxxx-99xxxxxx-84xxxxxx-7xxxx&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2017-05-11T15%3A19%3A30&order-id=1234567890

SecretKey


b0xxxxxx-c6xxxxxx-94xxxxxx-dxxxx

должно получиться


4F65x5A2bLyMWVQj3Aqp+B4w+ivaA7n5Oi2SuYtCJ9o=

но сколько бы я не искал код ни один из вариантов не дает такой результат выполнения кода может ли кто либо подсказать или объяснить что сделано не так


var stringToSign = project.Variables["url"].Value;
var AWSSecretAccessKey = project.Variables["sekret"].Value;
var AWSAccessKeyId = project.Variables["apikey"].Value;

{
System.Security.Cryptography.HMACSHA256 MySigner = new System.Security.Cryptography.HMACSHA256(System.Text.Encoding.UTF8.GetBytes(AWSSecretAccessKey));


string SignatureValue = Convert.ToBase64String(MySigner.ComputeHash(System.Text.Encoding.UTF8.GetBytes(stringToSign)));

return SignatureValue.Replace("+", "%2B").Replace("/", "%2F").Replace("=", "%3D");
}

https://github.com/huobiapi/API_Docs_en/wiki/Signing_API_Requests
 
Все молчат нет вариантов? или надо заинтересованность ?
 
А если написать в ТП с данным вопросом? Работа их API их прерогатива не наша.
 
Описание api huobi.pro вроде подробное запутаться тяжело но есть момент где невозможно понять что они делают точнее код который пытаешься применить или взять из образцов просто не то выдает что должно быть.
Есть строка образец

GET\n
api.huobi.pro\n
/v1/order/orders\n
AccessKeyId=e2xxxxxx-99xxxxxx-84xxxxxx-7xxxx&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2017-05-11T15%3A19%3A30&order-id=1234567890

SecretKey


b0xxxxxx-c6xxxxxx-94xxxxxx-dxxxx

должно получиться


4F65x5A2bLyMWVQj3Aqp+B4w+ivaA7n5Oi2SuYtCJ9o=

но сколько бы я не искал код ни один из вариантов не дает такой результат выполнения кода может ли кто либо подсказать или объяснить что сделано не так


var stringToSign = project.Variables["url"].Value;
var AWSSecretAccessKey = project.Variables["sekret"].Value;
var AWSAccessKeyId = project.Variables["apikey"].Value;

{
System.Security.Cryptography.HMACSHA256 MySigner = new System.Security.Cryptography.HMACSHA256(System.Text.Encoding.UTF8.GetBytes(AWSSecretAccessKey));


string SignatureValue = Convert.ToBase64String(MySigner.ComputeHash(System.Text.Encoding.UTF8.GetBytes(stringToSign)));

return SignatureValue.Replace("+", "%2B").Replace("/", "%2F").Replace("=", "%3D");
}

https://github.com/huobiapi/API_Docs_en/wiki/Signing_API_Requests
Вообще код через заднее место,учите мат часть,там обычный urlencode им конвертите то что надо и шлете
 
А если написать в ТП с данным вопросом? Работа их API их прерогатива не наша.
если бы их техподдержка отвечала то было бы проще хотя врятли из 5 писем ни на один ответа не последовало, а онлайн ссылаются на разработчиков да и телеграмм канал половина жалоб на апи а ответа 0, это схоже с описанием работы по апи Амазон и я думаю его давно уже здесь реализовали.
 
Вообще код через заднее место,учите мат часть,там обычный urlencode им конвертите то что надо и шлете
забыли добавить googl в помошь по данному коду я перевернул все что нашел и по амазону и по хуоби коды разнятся в разных примерах но они все равно не выполняют то что должны по крайней мере исходя из описания апи биржы и результата. Мои познания в с# ближе к 0 но из описания и кодировки разница в том что обычная кодировка зеннопостера использует и строчные буквы хотя судя по их описанию должны использоваться только заглавные.
 
забыли добавить googl в помошь по данному коду я перевернул все что нашел и по амазону и по хуоби коды разнятся в разных примерах но они все равно не выполняют то что должны по крайней мере исходя из описания апи биржы и результата. Мои познания в с# ближе к 0 но из описания и кодировки разница в том что обычная кодировка зеннопостера использует и строчные буквы хотя судя по их описанию должны использоваться только заглавные.
string url = "4F65x5A2bLyMWVQj3Aqp+B4w+ivaA7n5Oi2SuYtCJ9o=";
string result = Uri.EscapeDataString(url);
return result;
Так как надо.Вставлять в свой код c#
 
string url = "4F65x5A2bLyMWVQj3Aqp+B4w+ivaA7n5Oi2SuYtCJ9o=";
string result = Uri.EscapeDataString(url);
return result;
Так как надо.Вставлять в свой код c#
Спасибо, но это результат уже, весь вопрос в том как получить строку "4F65x5A2bLyMWVQj3Aqp+B4w+ivaA7n5Oi2SuYtCJ9o=" исходя из
url
GET\n
api.huobi.pro\n
/v1/order/orders\n
AccessKeyId=e2xxxxxx-99xxxxxx-84xxxxxx-7xxxx&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2017-05-11T15%3A19%3A30&order-id=1234567890

SecretKey
b0xxxxxx-c6xxxxxx-94xxxxxx-dxxxx
 
Спасибо, но это результат уже, весь вопрос в том как получить строку "4F65x5A2bLyMWVQj3Aqp+B4w+ivaA7n5Oi2SuYtCJ9o=" исходя из
url
GET\n
api.huobi.pro\n
/v1/order/orders\n
AccessKeyId=e2xxxxxx-99xxxxxx-84xxxxxx-7xxxx&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2017-05-11T15%3A19%3A30&order-id=1234567890

SecretKey
b0xxxxxx-c6xxxxxx-94xxxxxx-dxxxx
Вообще ничего не понял.Откуда вообще эта строка должна браться?Читайте апи там должно быть описано это.
 
Вообще ничего не понял.Откуда вообще эта строка должна браться?Читайте апи там должно быть описано это.

Вычислить подпись

  1. Подпись рассчитывается со следующей канонической строкой и секретным ключом в качестве входных данных для хеш-функции с ключом:
  • Каноническая строка запроса:
GET\n
api.huobi.pro\n
/v1/order/orders\n
AccessKeyId=e2xxxxxx-99xxxxxx-84xxxxxx-7xxxx&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2017-05-11T15%3A19%3A30&order-id=1234567890

  • Секретный ключ (The SecretKey), распространяемый Huobi, когда вы подали заявку на APIKEY.):
b0xxxxxx-c6xxxxxx-94xxxxxx-dxxxx

  • Результирующая подпись должна быть закодирована в base-64.
4F65x5A2bLyMWVQj3Aqp+B4w+ivaA7n5Oi2SuYtCJ9o=
 
/// <summary>
/// Hmacsha256加密
/// </summary>
/// <param name="text"></param>
/// <param name="secretKey"></param>
/// <returns></returns>
private static string CalculateSignature256(string text, string secretKey)
{
using (var hmacsha256 = new HMACSHA256(Encoding.UTF8.GetBytes(secretKey)))
{
byte[] hashmessage = hmacsha256.ComputeHash(Encoding.UTF8.GetBytes(text));
return Convert.ToBase64String(hashmessage);
}
}
этот код они приводят как пример но когда его используешь у тебя результат не получается такой как в примере
 
пробовал разные варианты, но получить сигнатуру требуемую тоже не получилось
я вариантов 20 пробовал но итог один что то не дописали в описании причем кодировка строки у них взята с амазона, но в амазоне тоже не нашел что не так в основном все упирались в 2 кодирование и маленькие буквы при замене но код полностью идентичен с хуоби, рабочий код есть на php но для него слишком много телодвижений ненужных чтоб его привязать к зеннопостеру, и здесь вероятнее всего есть те люди которые его смогли сделать или на амазоне или на хуоби но молчат.
 
здесь вероятнее всего есть те люди которые его смогли сделать или на амазоне или на хуоби но молчат.
ТС не обозначил бюджет. Эта задачка как раз из разряда таких, когда для спецов разобраться большого труда не составит, а вот для человека несведущего в самой структуре подхода можно ноги переломать. Помогать в таком деле бесплатно или за 500 рублей - нет смысла, а в том, что ТС потянет адекватный уровень оплаты - большие сомнения.
К тому же тут всё банально. Решение даже в гугле есть:

Нужно просто потратить время и разобраться.
 
  • Оценить
Реакции: Шива
ТС не обозначил бюджет. Эта задачка как раз из разряда таких, когда для спецов разобраться большого труда не составит, а вот для человека несведущего в самой структуре подхода можно ноги переломать. Помогать в таком деле бесплатно или за 500 рублей - нет смысла, а в том, что ТС потянет адекватный уровень оплаты - большие сомнения.
К тому же тут всё банально. Решение даже в гугле есть:

Нужно просто потратить время и разобраться.


За ссылки БОЛЬШОЕ спасибо но врятли они мне помогут. Не обозначал бюджет по причине того что кто знает тот может обратиться в личку и предложить цену (Вам никто не мешал это сделать). Загадка загадке рознь я сразу написал что я в c# плаваю, и утверждать что я специалист не вижу никакого смысла, насчет спецов здесь местных, отдельный разговор, больше наверно разводил только в ОЛХ (не суть разговора). Уже знаю 3-4 спеца которые не смогли.
 
За ссылки БОЛЬШОЕ спасибо но врятли они мне помогут. Не обозначал бюджет по причине того что кто знает тот может обратиться в личку и предложить цену (Вам никто не мешал это сделать). Загадка загадке рознь я сразу написал что я в c# плаваю, и утверждать что я специалист не вижу никакого смысла, насчет спецов здесь местных, отдельный разговор, больше наверно разводил только в ОЛХ (не суть разговора). Уже знаю 3-4 спеца которые не смогли.
Какой смысл писать в ЛС?
Чтобы получить в ответ, что это слишком дорого с прочими подробностями?
Общение в заказчиком, - это тоже работа, которая в реалиях данного форума, практически никогда не оплачивается. И смысла зря тратить время на бесполезные переговоры попросту нет.
Опыт общения на подобные темы есть немалый, и если бюджет, или хотя бы его порядок, не озвучен на старте публикации задачи, то ожидания цены в понимании русскоговорящего заказчика редко превышает $50-$100.
Удачи.
 
  • Оценить
Реакции: VerBin
Какой смысл писать в ЛС?
Чтобы получить в ответ, что это слишком дорого с прочими подробностями?
Общение в заказчиком, - это тоже работа, которая в реалиях данного форума, практически никогда не оплачивается. И смысла зря тратить время на бесполезные переговоры попросту нет.
Опыт общения на подобные темы есть немалый, и если бюджет, или хотя бы его порядок, не озвучен на старте публикации задачи, то ожидания цены в понимании русскоговорящего заказчика редко превышает $50-$100.
Удачи.
Взаимно.
 
ТС не обозначил бюджет. Эта задачка как раз из разряда таких, когда для спецов разобраться большого труда не составит, а вот для человека несведущего в самой структуре подхода можно ноги переломать. Помогать в таком деле бесплатно или за 500 рублей - нет смысла, а в том, что ТС потянет адекватный уровень оплаты - большие сомнения.
К тому же тут всё банально. Решение даже в гугле есть:

Нужно просто потратить время и разобраться.
Спасибо разобрался.
 
  • Оценить
Реакции: zortexx
отбой тоже разобрался)
 
Добрый вечер друзья.
Можно поднять эту тему? Потому что у меня какой то лютый затык с запросом на получение ID аккаунта: http://api.huobi.pro/v1/account/accounts?AccessKeyId={-Variable.AccKEY-}&SignatureMethod=HmacSHA256&SignatureVersion=2&timestamp={-Variable.TIME-}&signature={-Variable.gxdf-}

Судя по тому что запрос указанный в примере у меня проходит, берусь утверждать что сигнатуру и время я сгенерировал всё таки верно. Но этот запрос отвечает независимо от того что я туда вбиваю: login-required The account is not logged in, please log in and try again.

Уже всю голову сломал, на php всё с абсолютно теми же данными проходит, а зенка шлёт лесом
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)