Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Интернет и сети
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.08.2018, 14:23
DenisViz DenisViz вне форума
Прохожий
 
Регистрация: 28.03.2018
Сообщения: 6
Версия Delphi: Delphi 10.1
Репутация: 10
По умолчанию При создании тестового ордера на binance выдает 400 bad request

Здравствуйте. При создании тестового ордера на binance используя delphi возврощается ошибка 400 bad request. Не подскажите что я делаю не так

Код:
procedure TForm1.Order();
var
  url, sign, queryString, nonce: string;
  ST: SystemTime;
  DT: TDateTime;
  uTime: int64;
  sHour, sMin, sSec, sMili: Word;

  stream, s_url: string;
  Post: TStringList;
begin
  api_key := 'OPEN_KEY';
  api_secret := 'SECRET_KEY';

  GetSystemTime(ST);
  DT := EncodeDate(ST.wYear, ST.wMonth, ST.wDay) +
        EncodeTime(ST.wHour, ST.wMinute, ST.wSecond, ST.wMilliseconds);
  uTime := DateUtils.MilliSecondsBetween(DT, UnixDateDelta);
  nonce:=inttostr(uTime);

  url :='https://api.binance.com/api/v3/order/test';
  queryString := 'symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTCquantity=0.12&price=0.008729&recvWindow=5000&timestamp='+nonce;
  sign := THashSHA2.GetHMAC(queryString, api_secret, SHA256);

  IdHTTP10 := TidHTTP.Create(nil);
  IdHTTP10.HandleRedirects := True;
  IdHTTP10.Request.CustomHeaders.Add('X-MBX-APIKEY:'+api_key);

  Post:=TStringList.Create;
  Post.Add('quantity=0.12&');
  Post.Add('price=0.008729&');
  Post.Add('recvWindow=5000&');
  Post.Add('timestamp='+nonce+'&');
  Post.Add('signature='+sign);

  s_url := url + '?symbol=LTCBTC&side=BUY&type=LIMIT&timeInForce=GTC';
  try
    stream:=IdHTTP10.POST(s_url, Post);
    Memo3.Lines.Add(stream);
  except
    on E: Exception do
      Memo1.Lines.Add(TimeToStr(time)+' <---> [Order] error: '+E.Message);
  end;
  IdHTTP10.Free;
  Post.Free;
end;
Ответить с цитированием
  #2  
Старый 16.08.2018, 21:01
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,004
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, я так подозреваю, что дело в том, что твой урл и урл для подписи разные. "Наступал" на это с амазоном...
Ответить с цитированием
  #3  
Старый 17.08.2018, 15:07
DenisViz DenisViz вне форума
Прохожий
 
Регистрация: 28.03.2018
Сообщения: 6
Версия Delphi: Delphi 10.1
Репутация: 10
По умолчанию

уже решил проблему, лишний амперсанд
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:27.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter