Api с биржей binance, не могу получить данные с авторизацией.
Не получается подключится к бирже binance через API.
Процедуру написал, пробовал по всякому, не получается.
Если у кого есть опыт, подскажите в чем проблема.
(код при загрузке авто заменой был изменен, оригинал в вложенном файле)
Процедуру написал, пробовал по всякому, не получается.
Если у кого есть опыт, подскажите в чем проблема.
(код при загрузке авто заменой был изменен, оригинал в вложенном файле)
Функция ПолучитьБаланс_Binance() Экспорт
Перем Соответствие;
apikey = "xCi3ylcIO28UxIZvW5dcJbPLOlCBB03qQmqhV1dQsWYqphFkgxIhQOhQxPG jAQrk";
apisecret = "qQh3rsUi8gBDuqrGXxLfGdrVnPh86CYov2G8TGEfbui2SvjJ1GnoBdhSci7 xRmMM";
unixtime = Формат(УниверсальноеВремя(ТекущаяДата()) - дата(1970,1,1,1,0,0), "ЧГ=0")+"559";
СтрокаДляШифрования = "×tamp="+unixtime;
sign = hash_hmac_sha256(СтрокаДляШифрования,apisecret);
SSL = Новый ЗащищенноеСоединениеOpenSSL;
HTTPСоединение_btce = Новый HTTPСоединение("api.binance.com",,,,,10, SSL);
ЗаголовокHTTP = Новый Соответствие();
ЗаголовокHTTP.Вставить("APIKEY", apikey);
//ЗаголовокHTTP.Вставить("Key", apikey);
ЗаголовокHTTP.Вставить("Connection", "Keep-alive");
ЗаголовокHTTP.Вставить("Host", "api.binance.com");
ЗаголовокHTTP.Вставить("User-Agent","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64)");
ЗаголовокHTTP.Вставить("Content-Type", "application/x-www-form-urlencoded;");
ЗаголовокHTTP.Вставить("Accept-Charset", "utf-8");
ЗаголовокHTTP.Вставить("Accept", "application/json, text/javascript, */*; q=0.01");
Запрос = Новый HTTPЗапрос("/api/v3/account/" ,ЗаголовокHTTP);
Запрос.УстановитьТелоИзСтроки( "×tamp="+unixtime+"&signature="+sign );
Ответ = HTTPСоединение_btce.ОтправитьДляОбработки(Запрос);
ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.ОткрытьПоток( Ответ.ПолучитьТелоКакПоток() );
ПрочитатьJSONВСоответствие(ЧтениеJSON, Соответствие);
ЧтениеJSON.Закрыть();
Возврат Соответствие["balances"];
КонецФункции
Функция hash_hmac_sha256(Строка, СекретныйКлюч)
Текст = Новый COMОбъект("System.Text.UTF8Encoding");
Криптография = Новый COMОбъект("System.Security.Cryptography.HMACSHA256");
Криптография.Key = Текст.GetBytes_4(СекретныйКлюч);
ХешБайт = Криптография.ComputeHash_2(Текст.GetBytes_4(Строка)).Выгрузить();
Хеш = ConvToHexString(ХешБайт);
Возврат Хеш;
КонецФункции
Функция ConvToHexString(ХешБайт)
//oD = Новый COMОбъект("MSXML2.DOMDocument");
//
//oD.LoadXML("<root />");
//oD.DocumentElement.DataType = "bin.Hex";
//oD.DocumentElement.nodeTypedValue = vIn;
//Результат = СтрЗаменить(oD.DocumentElement.Text, Символы.ПС, "");
Соотв16 = Новый Соответствие;
Соотв16.Вставить(0 , "0");
Соотв16.Вставить(1 , "1");
Соотв16.Вставить(2 , "2");
Соотв16.Вставить(3 , "3");
Соотв16.Вставить(4 , "4");
Соотв16.Вставить(5 , "5");
Соотв16.Вставить(6 , "6");
Соотв16.Вставить(7 , "7");
Соотв16.Вставить(8 , "8");
Соотв16.Вставить(9 , "9");
Соотв16.Вставить(10, "a");
Соотв16.Вставить(11, "b");
Соотв16.Вставить(12, "c");
Соотв16.Вставить(13, "d");
Соотв16.Вставить(14, "e");
Соотв16.Вставить(15, "f");
Хеш = "";
Для Каждого Байт Из ХешБайт Цикл
Чс = Цел(Байт/16);
Хеш = Хеш + Прав("0" + Соотв16.Получить(Чс) + Соотв16.Получить(Байт-Чс*16), 2);
КонецЦикла;
Возврат Хеш;
КонецФункции
ПоказатьПрикрепленные файлы:
ПолезныеФункции2.epf
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
здравствуйте, Александр! скачал обработку, указал свой ключ и секретку, но возвращается вот такой ответ 404 Not found, что я делаю не так? либо если не жалко - поделитесь рабочим кодом. в сети практически отсутствуют примеры подключения к бинанс из 1С, а http запросы для меня пока новая тема. Спасибо
вот так заработало
unixtime = Формат((УниверсальноеВремя(ТекущаяДата()) - '19700101')*1000+500,"ЧГ=");
СтрокаДляШифрования = "timestamp="+unixtime+"&recvWindow=5000";
sign = hash_hmac_sha256(СтрокаДляШифрования,apisecret);
АдресРесурса = "api/v3/account";
АдресРесурса = АдресРесурса+"?timestamp="+unixtime+"&signature="+sign+"&recvWindow=5000";
SSL = Новый ЗащищенноеСоединениеOpenSSL;
HTTPСоединение_btce = Новый HTTPСоединение("api.binance.com",,,,,10, SSL);
ЗаголовокHTTP = Новый Соответствие();
ЗаголовокHTTP.Вставить("X-MBX-APIKEY", apikey);
ЗаголовокHTTP.Вставить("Content-Type", "application/x-www-form-urlencoded");
Запрос = Новый HTTPЗапрос(АдресРесурса ,ЗаголовокHTTP);
Ответ = HTTPСоединение_btce.Получить(Запрос);
Сообщить(Ответ.ПолучитьТелоКакСтроку());
Показать
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)