Глазком взглянул на сайт.
Часть схемы сделал, но без указания некоторых параметров(см ниже) не работает.
тестовая схема №2 (рабочая)
Add(MainForm,11178791,35,329) { Width=492 Height=720 link(onCreate,14066483:doEvent1,[(75,349)(75,363)]) } Add(TCP_Client,15429759,805,490) { Port=80 IP="46.37.186.19" link(onRead,883098:doCharset,[]) link(onConnect,6143796:doOn,[(845,503)(845,566)]) } Add(StyleXP,4813848,35,287) { } Add(Edit,4543370,539,364) { Left=5 Top=10 Width=190 Text="Makc" } Add(Edit,2276518,581,364) { Left=5 Top=35 Width=190 Text="Veritas-dizain@yandex.ru" } Add(Edit,1488153,665,364) { Left=5 Top=85 Width=190 Text="капча" } Add(Edit,6416291,623,364) { Left=5 Top=60 Width=190 Text="123147789963" } Add(Button,6239396,413,483) { Left=100 Top=110 Width=95 Height=35 Caption="старт" link(onClick,11489612:doEvent1,[]) } Add(BlockFind,8875233,273,518) { IncludeBlock=1 StartBlock="<br /><img alt="captcha" src="" EndBlock=""/>" link(onSearch,7713319:doValue,[]) } Add(WebBrowser,12117628,322,567) { Left=205 Top=10 Width=235 Height=135 Point(doFromText) Point(PHandle) link(URL,7713319:Value,[]) } Add(StrList,8727275,147,301) { Strings=#21:GET /zakazat HTTP/1.1|22:Host: hostinger.com.ua|75:User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20100101 Firefox/4.0|71:Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8|52:Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3|24:Accept-Encoding: deflate|48:Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7|15:Keep-Alive: 115|22:Connection: keep-alive|33:Referer: http://hostinger.com.ua/|0:|0:| } Add(TCP_Client,8597393,147,364) { Port=80 IP="91.206.31.137" link(onRead,2492839:doCharset,[]) link(onConnect,6620947:doOn,[(187,377)(187,433)]) link(Data,8727275:Text,[(160,355)(153,355)]) } Add(Hub,14066483,84,357) { InCount=2 OutCount=5 link(onEvent1,6620947:doOff,[(132,363)(132,426)]) link(onEvent2,8597393:doOpen,[]) link(onEvent3,8597393:doSend,[(128,377)(128,384)]) link(onEvent4,13783123:doOff,[(122,384)(122,713)]) link(onEvent5,6143796:doOff,[(113,391)(113,559)]) } Add(BlockFind,934736,273,427) { IncludeBlock=1 StartBlock="Set-Cookie:" EndBlock=" " link(onSearch,4077100:doValue,[]) } Add(Charset,2492839,196,364) { Type=7 link(onCharset,11755607:doEvent1,[]) } Add(Memory,4077100,322,427) { } Add(HTTP_PostBuilder,13627211,700,490) { URL="/v-2/client-register" Host="api.hostinger.com.ua" Point(Cookies) link(onBuild,5537151:doEvent1,[]) link(Content,13768381:Result,[(706,478)(690,478)(690,534)(580,534)]) link(Cookies,11181240:FString,[(727,478)(762,478)(762,549)(503,549)]) } Add(URLBuilder,13768381,574,490) { Args=#10:first_name|5:email|8:password|16:password_confirm|7:captcha|5:agree|3:rid| link(onBuild,5244782:doData,[]) link(first_name,79669:Var3,[(580,410)]) link(email,9663490:Var2,[]) link(password,16260199:Var2,[]) link(password_confirm,15314314:Var2,[]) link(captcha,1488153:Text,[(608,426)(671,426)]) link(agree,7638286:Value,[(615,433)(713,433)]) link(rid,8017303:Value,[(622,417)(328,417)]) } Add(GetDataEx,15314314,595,403) { Angle=1 link(Data,6416291:Text,[(629,408)]) } Add(DoData,5244782,644,490) { link(onEventData,13627211:doBuild,[]) } Add(Hub,11755607,238,364) { OutCount=3 link(onEvent1,5104169:doSearch,[]) link(onEvent2,934736:doSearch,[(262,377)(262,433)]) link(onEvent3,8875233:doSearch,[(256,384)(256,524)]) } Add(BlockFind,5104169,273,364) { IncludeBlock=1 StartBlock="name="rid" value="" EndBlock="" id="rid">" link(onSearch,8017303:doValue,[]) } Add(Memory,8017303,322,364) { } Add(Memory,7713319,322,518) { link(onData,12117628:doNavigate,[(368,524)(368,511)(295,511)(295,573)]) } Add(Hub,5537151,777,490) { link(onEvent1,15429759:doOpen,[]) link(onEvent2,15429759:doSend,[(798,503)(798,510)]) } Add(Charset,883098,854,490) { Type=7 link(onCharset,15855358:doEvent1,[]) } Add(LED,6620947,196,413) { Left=450 Top=15 ColorOn=65280 } Add(LED,6143796,854,546) { Left=450 Top=45 ColorOn=65280 } Add(Button,7792952,35,364) { Left=5 Top=110 Width=95 Height=35 Caption="Одновить" link(onClick,14066483:doEvent2,[]) } Add(BlockFind,7667302,1008,490) { IncludeBlock=1 StartBlock="error_msg=%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5+%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8B+%D0%BD%D0%B5+%D1%81%D0%BE%D0%B2%D0%BF%D0%B0%D0%B4%D0%B0%D1%8E%D1%82+%D1%81+%D1%82%D0%B5%D0%BC%D0%B8%2C+%D1%87%D1%82%D0%BE+%D1%83%D0%BA%D0%B0%D0%B7%D0%B0%D0%BD%D1%8B+%D0%BD%D0%B0+%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B8.+%D0%9F%D0%BE%D0%B6%D0%B0%D0%BB%D1%83%D0%B9%D1%81%D1%82%D0%B0%2C+%D0%BF%D0%BE%D0%BF%D1%80%D0%BE%D0%B1%D1%83%D0%B9%D1%82%D0%B5+%D1%81%D0%BD%D0%BE%D0%B2%D0%B0." EndBlock="&" link(onSearch,15886694:doMessage,[]) } Add(Message,15886694,1050,490) { Message="Введенные символы не совпадают с теми, что указаны на изображении." } Add(BlockFind,14483084,1008,532) { IncludeBlock=1 StartBlock="%27%D0%BC%D0%B0%D0%B8%D0%BB%27+%D0%BD%D0%B5%D0%B4%D0%BE%D0%BF%D1%83%D1%81%D1%82%D0%B8%D0%BC%D1%8B%D0%B9+%D0%B0%D0%B4%D1%80%D0%B5%D1%81+%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9+%D0%BF%D0%BE%D1%87%D1%82%D1%8B.+%D0%92%D0%B2%D0%B5%D0%B4%D0%B8%D1%82%D0%B5+%D0%B5%D0%B3%D0%BE+%D0%B2+%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B5+%D0%B8%D0%BC%D1%8F%40%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD" EndBlock="&" link(onSearch,15700670:doMessage,[]) } Add(Hub,15855358,945,490) { OutCount=7 link(onEvent1,7667302:doSearch,[]) link(onEvent2,14483084:doSearch,[(1001,503)(1001,538)]) link(onEvent3,7127700:doSearch,[(995,510)(995,587)]) link(onEvent4,7706193:doSearch,[(990,517)(990,629)]) link(onEvent5,5243254:doSearch,[(983,524)(983,671)]) link(onEvent6,10622401:doSearch,[(974,531)(974,592)(471,592)(471,650)]) link(onEvent7,8957698:doAdd,[(966,538)(966,734)]) } Add(Message,15700670,1050,532) { Message="недопустимый адрес электронной почты. Введите его в формате имя@домен" } Add(Memory,7638286,707,364) { Default=String(agree) } Add(InlineCode,14989892,322,616) { @Hint=#6:Cookie| VarPoints=#7:cookies| DataPoints=#7:PHandle| Code=#15:unit HiAsmUnit;|0:|9:interface|0:|40:uses KOLSHDocVw,kol,Share,Debug,Windows;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|15: wb:PControl;|9: public|21: PHandle:THI_Event;|44: procedure cookies(var dt:TData;idx:word);|5: end;|0:|14:implementation|0:|30:procedure THiAsmClass.cookies;|5:begin|38:wb:=PControl(ReadInteger(dt,PHandle));|56:dtString(dt,PWebBrowser(wb).OleObject.Document.cookie );|4:end;|0:|4:end.| link(PHandle,12117628:PHandle,[(328,611)(342,611)]) AddHint(-131,44,48,13,@Hint) } Add(Hub,11489612,462,483) { link(onEvent1,11181240:doString,[(490,489)(490,447)]) link(onEvent2,13768381:doBuild,[]) } Add(FormatStr,11181240,497,441) { Mask="%1;%2; __utmc=229698949; __utmz=229698949.1319846508.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)" Point(FString) link(Str1,14989892:cookies,[(503,434)(396,434)(396,654)(328,654)]) link(Str2,4077100:Value,[(510,426)(371,426)(371,475)(328,475)]) } Add(RichEdit,9971508,679,644) { Left=10 Top=150 Width=430 Height=260 ScrollBars=2 } Add(BlockFind,7127700,1008,581) { IncludeBlock=1 StartBlock="error_msg=%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9+%D0%B0%D0%B4%D1%80%D0%B5%D1%81+%D1%83%D0%B6%D0%B5+%D0%B7%D0%B0%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD" EndBlock="&" link(onSearch,4070971:doMessage,[]) } Add(Message,4070971,1050,581) { Message="Электронный адрес уже зарегестрирован." } Add(BlockFind,7706193,1008,623) { IncludeBlock=1 StartBlock="&error_msg=Password+must+be+at+least+6+characters+in+length" EndBlock="&" link(onSearch,7316452:doMessage,[]) } Add(Message,7316452,1050,623) { Message="Пароль должен содержать не менее 6 символов" } Add(BlockFind,5243254,1008,665) { IncludeBlock=1 StartBlock="&error_msg=It+seems+you+are+already+registered.+Please+login+to+the+control+panel+at+http%3A%2F%2Fcpanel.hostinger.com.ua+or+wait+24+hours+and+try+again." EndBlock="&" link(onSearch,8988116:doMessage,[]) } Add(Message,8988116,1050,665) { Message="Возможно Вы уже зарегестрированы. Войдите в панель управления http://cpanel.hostinger.com.ua, или поробуйте снова через 24 часа." } Add(PointHint,8355390,924,455) { Info=#16:Возможные ошибки| Font=[MS Sans Serif,12,0,16711680,1] Frame=2 Transparent=0 VAlign=0 Width=197 Height=256 } Add(PointHint,16692533,266,504) { Info=#5:Капча| Font=[MS Sans Serif,12,0,16711680,1] Frame=2 Transparent=0 VAlign=2 Width=141 Height=179 } Add(PointHint,7194745,266,329) { Info=#6:Cookie| Font=[MS Sans Serif,12,0,16711680,1] Frame=2 Transparent=0 VAlign=0 Width=267 Height=151 } Add(PointHint,3406611,539,329) { Info=#17:Формирование POST| Font=[MS Sans Serif,12,0,16711680,1] Frame=2 Transparent=0 VAlign=0 Width=211 Height=214 } Add(BlockFind,10622401,483,644) { StartBlock="http://cpanel.hostinger.com.ua/auth/auto-login/key/" EndBlock=" " link(onSearch,11414697:doString,[]) } Add(FormatStr,11414697,539,644) { DataCount=4 Mask="Имя=%1 Маил=%2 Пароль=%3 Сылка с кодом подтверждения=%4" link(onFString,12957108:doEvent1,[]) link(Str1,79669:Var2,[]) link(Str2,9663490:Var1,[(552,425)]) link(Str3,16260199:Var1,[(559,432)]) } Add(GetDataEx,79669,539,405) { link(Data,4543370:Text,[]) } Add(GetDataEx,9663490,581,420) { link(Data,2276518:Text,[]) } Add(GetDataEx,16260199,588,427) { link(Data,15314314:Var1,[(594,408)]) } Add(LED,13783123,616,700) { Left=450 Top=80 ColorOn=65280 } Add(Hub,12957108,581,644) { OutCount=3 link(onEvent1,104512:doWork2,[]) link(onEvent2,8497520:doData,[]) link(onEvent3,13783123:doOn,[(609,664)(609,720)]) } Add(DoData,8497520,616,651) { Data=String( ***** ) link(onEventData,104512:doWork3,[(662,657)]) } Add(HubEx,104512,658,644) { link(onEvent,9971508:doAdd,[]) } Add(RichEdit,8957698,1057,728) { Left=10 Top=420 Width=430 Height=250 ScrollBars=2 } Add(PointHint,16650318,245,77) { Info=#65:Тестовый вариант, предназначен для возсоздания запросов браузера.|70:При желании часть елементов можно исключить из схемы за ненадобностью.|30:Но ето уже на ваше усмотрение.|0:|60:Срок годности схемы примерно 6 мес. По истечению етого срока|57:может понадобится обновить, встроенный в програму cookie |32:__utmz=229698949.1319846508.1.1.|0:|3:где|20:229698949=хеш домена|61:1319846508=Дата последнего обновления cookies в unix формате.|0:|90:Достоверность вышеизложенного не гарантируется. Поскольку схема тщательно не тестировалась|68:и возможно сохранит работоспособность без одногонескольких cookies.|1: |49:Тестирование и оптимизация ложится на ваши плечи.|0:| VAlign=0 Width=540 Height=235 }
В POST запросе нужно указывать кукисы
__utma=
__utmb=
__utmc=
__utmz=
Которые не передаются стандартным способом, а генерируются скриптом javascript, в котором я полный "0"
Возможно ктото более опытный разберется. Хотя по идеи они генерируются Google Analitics и по идеи не должны нести полезной информации для регистрации, но без них не работает.
Сейчас же иду спать, рабочую схему выложу утром, если не передумаю. А то ведь кто знает как вы ее будете использовать.
------------ Дoбавленo в 12.44:
tom-it писал(а): схему выложу утром
Как и обещал, обновил схему, тестируйте.
|