Post-запрос на C#

Garry Potter

Client
Регистрация
11.01.2022
Сообщения
39
Благодарностей
6
Баллы
8
Всем здравствуйте

Помогите, пожалуйста, составить Post-запрос к Бинанс API

url - https://api.binance.com/sapi/v1/convert/getQuote

Тело (пример с данными):
{"fromAsset":"USDT","toAsset":"ETH","fromAmount":"100,825"}
Надо с переменными:
{"fromAsset":"{-Variable.Currency_USDT-}","toAsset":"{-Variable.Currency_Main-}","fromAmount":"{-Variable.Bid-}"}

Заголовки (пример с данными):
X-MBX-APIKEY: gbK8kfNhfkfl97hfkU66bLh6
Content-Type: application/json
Надо с переменными:
X-MBX-APIKEY: {-Variable.apiKey-}
Content-Type: application/json

Тип данных - application/json

Результат положить в переменную Price_Buy

Пробовал с кубиком "POST-запрос", но не подходит, т.к. там первой строкой в заголовке всегда идет User-agent (и от этого не избавиться никак). Смотрел темы на форуме, но сделать по анологии у меня, к сожалению, не получилось - с С# в плохих отношениях
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 666
Благодарностей
4 630
Баллы
113
Всем здравствуйте

Помогите, пожалуйста, составить Post-запрос к Бинанс API

url - https://api.binance.com/sapi/v1/convert/getQuote

Тело (пример с данными):
{"fromAsset":"USDT","toAsset":"ETH","fromAmount":"100,825"}
Надо с переменными:
{"fromAsset":"{-Variable.Currency_USDT-}","toAsset":"{-Variable.Currency_Main-}","fromAmount":"{-Variable.Bid-}"}

Заголовки (пример с данными):
X-MBX-APIKEY: gbK8kfNhfkfl97hfkU66bLh6
Content-Type: application/json
Надо с переменными:
X-MBX-APIKEY: {-Variable.apiKey-}
Content-Type: application/json

Тип данных - application/json

Результат положить в переменную Price_Buy

Пробовал с кубиком "POST-запрос", но не подходит, т.к. там первой строкой в заголовке всегда идет User-agent (и от этого не избавиться никак). Смотрел темы на форуме, но сделать по анологии у меня, к сожалению, не получилось - с С# в плохих отношениях
и что мешает прописать юзерагент первой строкой?
 

Garry Potter

Client
Регистрация
11.01.2022
Сообщения
39
Благодарностей
6
Баллы
8

Zedx

Client
Регистрация
12.06.2018
Сообщения
1 303
Благодарностей
884
Баллы
113
А в чём собственно проблема? Посмотрел свою реализацию binance api, у меня отправка post запроса стандартным кубиком, в первой строке useragent, причём насколько я помню, если отправлять без юзер агента, то запрос не проходит (возможно это в какой-то другой бирже, точно не помню, но хуже юзер агент точно не делает)
binance.png
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 666
Благодарностей
4 630
Баллы
113

Garry Potter

Client
Регистрация
11.01.2022
Сообщения
39
Благодарностей
6
Баллы
8
Это Binance Convert API, которое дается по отдельному запросу (заполняется анкета и т.д.) - https://developers.binance.com/docs/convert/Introduction

Если через кубик с указанным юзерагентом, то я получаю ответ:
{"code":-1002,"msg":"You are not authorized to execute this request."}

Сегодня я получил письмо от Бинанса, что Convert API для меня открыто. Возможно, ответ "code":-1002 означает, что мне это апи не открыто (какой-то сбой или т.п.). Но прежде чем писать в тп Бинанса, я хочу проверить на "чистом" пост-запросе (без юзер-агента), т.к. в документации о нем ничего нигде не сказано.
 

Zedx

Client
Регистрация
12.06.2018
Сообщения
1 303
Благодарностей
884
Баллы
113
я хочу проверить на "чистом" пост-запросе (без юзер-агента), т.к. в документации о нем ничего нигде не сказано.
У меня около десятка реализованных апи бирж, и нигде в документации ни к одной не сказано про юзер агент, тем не менее у меня он везде стоит и всё работает отлично. Как я писал выше, где-то не работает как раз именно без юзер агента.
Не пойму, почему такая боязнь ставить юзер агент
 
Последнее редактирование:

Garry Potter

Client
Регистрация
11.01.2022
Сообщения
39
Благодарностей
6
Баллы
8

Zedx

Client
Регистрация
12.06.2018
Сообщения
1 303
Благодарностей
884
Баллы
113
Не работает с ним
Странно, у меня бинанс работает с юзер агентом.
Ну а post запрос будет выглядеть так:
C#:
string body = project.Variables["jsonBody"].Value;
string apiKey = project.Variables["apiKey"].Value;

project.Variables["Price_Buy"].Value = ZennoPoster.HTTP.Request(
    method: ZennoLab.InterfacesLibrary.Enums.Http.HttpMethod.POST,
    url: "https://api.binance.com/sapi/v1/convert/getQuote",
    content: body,
    contentPostingType: "application/json",
    Encoding: "UTF-8",
    respType: ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly,
    AdditionalHeaders: new string[] {
        "X-MBX-APIKEY: " + apiKey
    },
    removeDefaultHeaders: true);
Правда ещё нужна подпись для этого запроса, которую нужно добавлять к параметрам и передавать. И возможно параметры нужно передавать не в теле, а в строке запроса, точно не помню как там в бинансе было.
 
Последнее редактирование:
  • Спасибо
Реакции: Garry Potter

Garry Potter

Client
Регистрация
11.01.2022
Сообщения
39
Благодарностей
6
Баллы
8
Дело действительно не в юзер-агенте.
Спасибо всем
 

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