Вверх ↑
Ответов: 24
Рейтинг: 0
#1: 2019-11-15 14:30:38 ЛС | профиль | цитата
Работающий вариант от Evg для будущих поколений
Компонент HMAC есть у Netspirit
Add(MainForm,6502669,189,259)
{
Width=1039
Height=487
Position=1
}
Add(Button,3906501,259,483)
{
Left=10
Top=10
Width=80
Height=25
link(onClick,7617945:doOperation,[])
}
Add(Memo,1227602,1379,497)
{
Left=10
Top=120
Width=1000
Height=315
ScrollBars=3
}
Add(StreamConvertor,16441410,1316,497)
{
Mode=4
link(onResult,1227602:doAdd,[])
}
Add(HTTP_Get,14916914,1260,490)
{
Wait=0
UserAgent="Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36"
Point(PostData)
link(onDownload,16441410:doConvert,[])
link(URL,16562575:FString,[(1266,478)(1224,478)(1224,534)(1182,534)])
}
Add(FormatStr,16562575,1176,490)
{
DataCount=4
Mask="https://api.huobi.pro/v1/account/accounts?AccessKeyId=%1&order-id=%2&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=%3&Signature=%4"
Point(FString)
link(onFString,14916914:doDownload,[])
link(Str1,743674:Var3,[(1182,460)])
link(Str2,4307024:Var3,[(1189,453)])
link(Str3,108238:Var3,[(1196,474)])
link(Str4,4335618:Value,[(1203,478)(1165,478)(1165,534)(1126,534)])
}
Add(Time,3467125,581,427)
{
Format="Y-M-D h:m:s"
Point(DateTime)
}
Add(Label,11494199,273,168)
{
Left=110
Top=15
Width=69
Height=17
Caption="AccessKeyId:"
}
Add(Edit,765236,847,357)
{
Left=190
Top=10
Width=370
Text=""
}
Add(Label,15772714,273,238)
{
Left=110
Top=63
Width=44
Height=17
Caption="Order-id:"
}
Add(Edit,11892746,861,399)
{
Left=190
Top=60
Width=370
Text="1234567890"
}
Add(Memory,14125193,784,490)
{
link(onData,1388585:doString,[])
}
Add(HMAC,5918340,924,490)
{
Algorithm=2
Key="f817d802-1b5e62de-2aac943c-9a9a8"
link(onResult,5699817:doConvert,[])
link(Data,1388585:FString,[(930,469)(892,469)(892,534)(853,534)])
link(Key,7249632:Text,[])
}
Add(FormatStr,1388585,847,490)
{
DataCount=4
Mask="GET\napi.huobi.pro\n/v1/account/accounts\nAccessKeyId=%1&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=%4&order-id=%3"
Point(FString)
link(onFString,5918340:doCalcHMAC,[])
link(Str1,743674:Var2,[])
link(Str3,4307024:Var2,[])
link(Str4,108238:Var2,[])
}
Add(Charset,1075868,1071,490)
{
Type=12
link(onCharset,4335618:doValue,[])
}
Add(StreamConvertor,5699817,973,490)
{
Mode=3
link(onResult,10685303:doCharset,[])
}
Add(Charset,10685303,1022,490)
{
Type=5
link(onCharset,1075868:doCharset,[])
}
Add(Edit,7490427,315,420)
{
Left=190
Top=85
Width=370
Text="+3"
}
Add(Memory,4335618,1120,490)
{
link(onData,16562575:doString,[])
}
Add(GetDataEx,743674,847,455)
{
link(Data,765236:Text,[])
}
Add(GetDataEx,4307024,861,448)
{
link(Data,11892746:Text,[])
}
Add(GetDataEx,108238,868,469)
{
Angle=3
link(Data,14125193:Value,[(831,474)(831,534)(790,534)])
}
Add(DateConvertor,7965468,686,490)
{
Mode=9
Format="yyyy-MM-ddTHH:mm:ss"
link(onResult,9089547:doCharset,[])
}
Add(DoData,13076185,434,490)
{
link(onEventData,439421:doConvert,[])
link(Data,3279260:Var3,[(440,467)])
}
Add(DateConvertor,439421,483,490)
{
Mode=8
Format="HH"
link(onResult,8757127:doOperation,[])
}
Add(Charset,9089547,735,490)
{
Type=12
link(onCharset,14125193:doValue,[])
}
Add(Math,12997737,588,490)
{
OpType=1
link(onResult,12368625:doWork2,[])
link(Op1,2464389:Var2,[])
}
Add(Math,8757127,532,490)
{
OpType=35
Op2=0.000000001
link(onResult,12997737:doOperation,[])
}
Add(Label,3425802,273,273)
{
Left=110
Top=87
Width=53
Height=17
Caption="Timezone:"
}
Add(Math,7617945,315,483)
{
OpType=34
link(onResult,6816478:doCompare,[])
link(Op1,14121290:Var2,[])
}
Add(If_else,6816478,364,483)
{
Op2=Integer(-1)
link(onTrue,2121148:doData,[(404,489)(404,552)])
link(onFalse,13076185:doData,[])
}
Add(GetDataEx,14121290,315,462)
{
link(Data,7490427:Text,[])
}
Add(DoData,2121148,413,546)
{
link(onEventData,9240877:doTrim,[])
link(Data,3279260:Var2,[])
}
Add(GetDataEx,3279260,413,462)
{
Angle=3
link(Data,14121290:Var3,[])
}
Add(Trim,9240877,462,546)
{
Char="-"
Mode=1
link(onTrim,9155591:doConvert,[])
}
Add(DateConvertor,9155591,511,546)
{
Mode=8
Format="HH"
link(onResult,11703131:doOperation,[])
}
Add(Math,11703131,560,546)
{
OpType=35
Op2=0.000000001
link(onResult,402788:doOperation,[])
}
Add(Math,402788,623,546)
{
link(onResult,12368625:doWork3,[(669,552)])
link(Op1,2464389:Var3,[(629,474)])
}
Add(GetDataEx,2464389,588,469)
{
link(Data,3467125:DateTime,[])
}
Add(HubEx,12368625,665,490)
{
link(onEvent,7965468:doConvert,[])
}
Add(Edit,7249632,931,399)
{
Left=190
Top=35
Width=370
Text=""
}
Add(Label,3189680,273,203)
{
Left=110
Top=38
Width=56
Height=17
Caption="SecretKey:"
}


Проблема была в том, что дата закодированная в URL, получала символы такие как %3A из за чего format воспринимает его за точку данных и происходит каша.
карма: 0

0
Редактировалось 6 раз(а), последний 2019-11-16 06:18:18