Цитата:
Сообщение от kalan2783
Доброго времени суток. При создании тестового ордера на 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=GTC&quantity=0.12&price=0.008729&recvWindow=5000×tamp='+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;
|
Сделай резервное копирование, а затем определи ошибка на стороне клиента или на стороне сервера? Если дело в клиенте, нужно куки почистить, загрузить файл размера поменьше, войти и выйти. Можно также попробовать удалить новые расширения, модули и т.д. А если проблема на стороне сервера, можно произвести перекомпиляцию и перезагрузку.