Вверх ↑
Этот топик читают: Гость
Ответов: 83
Рейтинг: 0
#271: 2020-05-29 16:29:20 ЛС | профиль | цитата
При загрузке через браузер (любой) в снифере отслеживается 2 пост запроса


карма: 0

0
Ответов: 4234
Рейтинг: 661
#272: 2020-05-29 16:53:42 ЛС | профиль | цитата
Это - то, что надо. FileField=file, PostData, вероятно, надо установить в остальные значения. Второй запрос, вероятно, используется для установки дополнительных атрибутов загруженного файла (типа "каталога" куда сохранять).
карма: 22

0
Ответов: 83
Рейтинг: 0
#273: 2020-05-29 17:03:03 ЛС | профиль | цитата
Это получается нужно добавить еще один компонент с пост запросом и в нем указать дополнительные параметры? Или добавить все в один запрос?

Редактировалось 1 раз(а), последний 2020-05-29 17:05:32
карма: 0

0
Ответов: 4234
Рейтинг: 661
#274: 2020-05-29 17:18:36 ЛС | профиль | цитата
Сначала попробовать один запрос - тот, который на картинке отправляет файл. Если будут проблемы - нужен второй запрос, так как он выполняется к другой странице.
карма: 22

0
Ответов: 83
Рейтинг: 0
#275: 2020-05-29 19:54:26 ЛС | профиль | цитата
Netspirit, Спасибо, все получилось! Пришлось добавить еще один компонент и добавить остальные запросы туда. Еще раз ОГРОМНОЕ человеческое спасибо!
Еще вопрос по поводу менеджера кук, его можно ставить одним компонентом, просто указать куда ему сохранять файл кук, список строк или еще что либо ему для этого не нужно? Просто связать событие старта программы с загрузкой кук, а закрытие с сохранением. (Надеюсь поймешь о чем я)

Я так понял нужно поставить еще один компонент с GET запросом и мониторить или не разлогинился ли компонент, скажем поставить блок if_else и если на странице есть надпись типа LOGIN, то нужно послать пост запрос с авторизацией. Верно?

Может глупый вопрос, но можно ли с помощью этого компонента передавать на сервер большие файлы 3-5ггб?

Еще возник вопрос, можно ли организовать несколько потоков одновременно на аплоад и как загружать список файлов?

Редактировалось 4 раз(а), последний 2020-05-30 04:27:54
карма: 0

0
Ответов: 4234
Рейтинг: 661
#276: 2020-06-01 14:06:52 ЛС | профиль | цитата
germes5558 писал(а):
Просто связать событие старта программы с загрузкой кук, а закрытие с сохранением.
Да, именно так и делается.

germes5558 писал(а):
Я так понял нужно поставить еще один компонент с GET запросом и мониторить или не разлогинился ли компонент
Да. Или мониторить ответ onFinish компонентов, отправляющих файлы - если в полученном тексте есть что-то характерное для страницы с логином - выполнить повторную авторизацию. Правда, во втором варианте большой файл сначала полностью отправится, а потом будет получено требование авторизации - это может быть неприемлемо.

germes5558 писал(а):
Может глупый вопрос, но можно ли с помощью этого компонента передавать на сервер большие файлы 3-5ггб?
Отправлять - до ~4 Гб, скачивать можно любые.

germes5558 писал(а):
Еще возник вопрос, можно ли организовать несколько потоков одновременно на аплоад и как загружать список файлов?
Внутри компонента реализовано отправку только 1 файла за раз, поэтому нужно отправлять по одному в цикле по списку. Реализация - компонент Thread, внутри которого стоит перебор списка имен файлов и выполняется отправка одним компонентом HTTPClient.
Несколько файлов одновременно - сложнее. Для начала можно сделать несколько списков, из которых отправлять одновременно несколькими Thread + HTTPClient.

Редактировалось 2 раз(а), последний 2020-06-01 14:08:57
карма: 22

0
Ответов: 83
Рейтинг: 0
#277: 2020-06-02 02:41:37 ЛС | профиль | цитата
Netspirit, Спасибо еще раз! Можете еще если не затруднит набросать простую схемку (можно без параметров), просто что бы я понял, что я должен именно сделать с этим потоком(((
карма: 0

0
Ответов: 4234
Рейтинг: 661
#278: 2020-06-02 13:03:18 ЛС | профиль | цитата
В примере "Скачивание файлов" есть использование Thread. Между Thread и HTTPClient ставишь список файлов и его перебор, получаемые имена подаешь на UploadFile - вот и всё.
карма: 22

0
Ответов: 83
Рейтинг: 0
#279: 2020-06-02 15:42:43 ЛС | профиль | цитата
Netspirit, Это нужно поставить таблицу строк с загруженными в нее списком файлов, затем перебором массива подавать на поток файлы по очереди? Поток будет ждать пока файл выгрузится на сервер?) Или по событию финиш нужно сделать связь с повторением? Просто я такую конструкцию сделал и у меня проблема, дело в том, что после того как выгружается последний файл, его начинает лить по кругу бесконечно...

В примере есть, но там один компонент, а мне нужно делать GET запрос, а потом уже 2 POST. Видимо я что то делаю не так

Make(delphi)
ver(4.05 build 186)
Add(MainForm,12505096,175,182)
{
Width=1113
Height=684
Caption="HTTPClient - Cookie"
Position=1
Point(onClose)
link(onCreate,2515764:In,[(229,202)(229,195)])
link(onClose,16535532:In,[(243,209)(243,216)])
}
Add(Button,12479344,357,462)
{
Left=10
Top=5
Width=140
Height=25
Caption="login"
link(onClick,5102370:doEvent1,[])
}
Add(DoData,7347341,574,441)
{
link(onEventData,9377522:doEvent1,[])
link(Data,2427935:getVar,[])
}
Add(Hub,9377522,644,441)
{
InCount=2
link(onEvent1,16267355:doAdd,[(668,447)(668,461)])
}
Add(CookieManager,16633777,462,588)
{
Filename="Cookie\\picstate.txt"
Name="rest"
Point(doDelete)
Point(onChange)
Point(doClear)
}
Add(Hub,5102370,420,462)
{
OutCount=4
link(onEvent1,8936422:doWork,[])
link(onEvent2,16633777:doClear,[(434,629)])
link(onEvent3,7240677:doString,[(486,482)(486,391)])
link(onEvent4,11811091:doLoadString,[])
}
Add(LineBreakEx,8936422,455,462)
{
Caption="clear"
}
Add(LineBreakEx,2111794,609,462)
{
Caption="clear"
Type=1
link(OnEvent,16267355:doClear,[])
}
Add(LineBreakEx,2427935,574,420)
{
Caption="head"
Type=2
}
Add(LineBreakEx,15402714,532,532)
{
Caption="head"
Type=3
link(_Data,11811091:RawHeaders,[])
}
Add(LineBreak,3914119,364,602)
{
Caption="save"
link(Out,16633777:doSave,[])
Primary=[16535532,-112,-392]
}
Add(LineBreak,1905389,364,623)
{
Caption="load"
link(Out,16633777:doLoad,[(416,629)(416,615)])
Primary=[2515764,-112,-434]
}
Add(HTTPClient,11811091,518,483)
{
URL="https://picstate.com/account/login"
Method=1
Headers="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\nAccept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3\r\nReferer: https://picstate.com/login\r\nOrigin: https://picstate.com\r\nUpgrade-Insecure-Requests: 1\r\nTE: Trailers"
UserAgent="User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763"
IgnoreInvalidCN=1
Decompress=1
CookieManager="rest"
Point(Headers)
Point(PostData)
Point(onRedirect)
Point(RawHeaders)
link(onHeadersAvail,7347341:doData,[(562,489)(562,447)])
link(onFinish,9377522:doEvent2,[(597,496)(597,454)])
link(PostData,7240677:FString,[])
}
Add(Button,11773978,777,210)
{
Left=175
Top=5
Width=140
Height=25
Caption="Send img"
link(onClick,5357300:doWork2,[])
}
Add(HTTPClient,8993969,945,315)
{
URL="https://picstate.com/multiup"
Headers="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\nAccept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3\r\nUpgrade-Insecure-Requests: 1\r\nTE: Trailers"
Referer="https://picstate.com/myfiles"
UserAgent="User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763"
EncType=1
IgnoreInvalidCN=1
Decompress=1
CookieManager="rest"
Point(Headers)
Point(PostData)
Point(RawHeaders)
Point(CurrentURL)
Point(onRedirect)
link(onFinish,11275676:doAdd,[(1029,328)(1029,363)])
}
Add(BlockFind,14902239,1106,413)
{
IncludeBlock=1
StartBlock=""multiup_sess" : ""
EndBlock="","
link(onSearch,7390642:doData,[])
link(Text,16298705:Var3,[(1112,408)])
}
Add(EventFromData,7390642,1155,413)
{
link(onEvent,14791049:doEvent1,[(1195,419)(1195,426)])
}
Add(Hub,15439320,833,315)
{
OutCount=5
link(onEvent1,8993969:doLoadString,[])
link(onEvent2,185910:doSearch,[(929,328)(929,366)(849,366)(849,412)])
link(onEvent3,11487906:doSearch,[(922,335)(922,377)(849,377)(849,496)])
link(onEvent4,6079180:doString,[(963,342)(963,552)])
link(onEvent5,16373781:doLoadString,[(1053,349)(1053,573)])
}
Add(EventFromData,6655165,1295,518)
{
}
Add(SymbolsGen,9496845,1239,413)
{
Count=29
Symbols="abcdefghijklmnopqrstuvwxyz1234567890"
link(onResult,15579385:doString,[])
}
Add(FormatStr,15579385,1295,413)
{
DataCount=1
Mask="%1.jpg"
Point(FString)
link(Str1,9496845:Result,[(1301,401)(1273,401)(1273,457)(1245,457)])
}
Add(BlockFind,185910,861,406)
{
IncludeBlock=1
StartBlock=""timestamp" : ""
EndBlock="","
link(onSearch,7750386:doData,[])
link(Text,11864204:Var1,[(867,397)(1084,397)])
}
Add(EventFromData,7750386,924,406)
{
}
Add(BlockFind,11487906,868,490)
{
IncludeBlock=1
StartBlock=""token" : ""
EndBlock="","
link(onSearch,6687011:doData,[])
link(Text,16298705:Var2,[(874,451)(1091,451)])
}
Add(EventFromData,6687011,924,490)
{
}
Add(GetDataEx,11864204,1078,403)
{
Angle=3
link(Data,11275676:Text,[(1063,408)])
}
Add(GetDataEx,16298705,1085,403)
{
Angle=3
link(Data,11864204:Var3,[])
}
Add(HTTPClient,16373781,1260,567)
{
URL="https://picstate.com/multiuploader.php"
Method=1
Headers="Origin: https://picstate.com\r\nAccept: */*\r\nAccept-Language: ru-UA\r\nHost: picstate.com\r\nConnection: Keep-Alive\r\nCache-Control: no-cache\r\n"
Referer="https://picstate.com/multiup"
UserAgent="User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763"
FileField="file"
FileMIME="image/png"
Boundary="---------------------------7e413830430de8"
CookieManager="rest"
Point(UploadFile)
Point(PostData)
Point(CurrentURL)
Point(onRedirect)
Point(doLoadStream)
Point(doExecute)
link(onFinish,7364812:doString,[(1360,580)(1360,636)(1108,636)(1108,685)])
link(UploadFile,3167038:Item,[])
link(PostData,6655165:GetData,[(1287,559)(1301,559)])
}
Add(FormatStr,6079180,1008,546)
{
DataCount=5
Mask="name=%5\r\ntimestamp=%2\r\ntoken=%3\r\nmultiup_sess=%4\r\nupl_ver=new"
Point(FString)
link(onFString,16312752:In,[])
link(Str2,1501388:Var,[])
link(Str3,2076554:Var,[])
link(Str4,8402578:Var1,[(1035,525)])
link(Str5,8253879:Var2,[])
}
Add(LineBreak,1496977,1295,448)
{
Caption="name"
Type=1
link(Data,15579385:FString,[])
Primary=[4516172,-259,63]
}
Add(LineBreak,14637814,924,532)
{
Caption="token"
Type=1
link(Data,6687011:GetData,[])
Primary=[2076554,98,-42]
}
Add(LineBreak,12261620,924,448)
{
Caption="timestamp"
Type=1
link(Data,7750386:GetData,[])
Primary=[1501388,91,14]
}
Add(LineBreak,1163260,1155,448)
{
Caption="multiup_sess"
Type=1
link(Data,7390642:GetData,[])
Primary=[12687867,-21,42]
}
Add(LineBreak,15534217,1218,518)
{
Caption="postdata"
link(Out,6655165:doData,[])
Primary=[16312752,-147,28]
}
Add(GetDataEx,8402578,1120,520)
{
Angle=1
link(Data,12687867:Var,[(1140,525)])
}
Add(HTTPClient,7217892,1204,679)
{
URL="https://picstate.com/multiup"
Method=1
Headers="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\nAccept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3\r\nConnection: keep-alive\r\nHost: picstate.com\r\nUpgrade-Insecure-Requests: 1\r\nTE: Trailers"
Referer="https://picstate.com/multiup"
UserAgent="User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763"
EncType=1
FileField="file"
FileMIME="image/png"
Boundary="---------------------------7e4217d430de8"
SSLProtocols=1
Decompress=1
CookieManager="rest"
Point(UploadFile)
Point(PostData)
Point(CurrentURL)
Point(onRedirect)
link(onHeadersAvail,5357300:doWork3,[(1248,685)(1248,452)(1166,452)])
link(onFinish,445326:doAdd,[])
link(PostData,7364812:FString,[(1231,667)(1179,667)(1179,723)(1126,723)])
}
Add(FormatStr,7364812,1120,679)
{
Mask="multiup_sess=%1\r\naction=upload\r\nfolder_id=\r\nresize=600\r\ncustom_resize=\r\nshow_original=on\r\nuploader_0_tmpname=%2\r\nuploader_0_name=\r\nuploader_0_status=done\r\nuploader_count=1"
Point(FString)
link(onFString,7217892:doLoadString,[])
link(Str1,8402578:Var2,[])
link(Str2,8253879:Var1,[(1133,605)(1033,605)(1033,530)])
}
Add(Hub,14791049,1204,420)
{
link(onEvent1,9496845:doGenerate,[(1228,426)(1228,419)])
}
Add(GetDataEx,8253879,1036,525)
{
link(Data,4516172:Var,[])
}
Add(StrList,11275676,1057,357)
{
link(onChange,14902239:doSearch,[(1097,363)(1097,419)])
}
Add(FormatStr,7240677,539,385)
{
Mask="action=login\r\ntask=login\r\nreturn=\r\nusername=%1\r\npassword=%2\r\nremember=1\r\nsubmit=Login"
Point(FString)
link(Str1,848935:Text,[(545,355)(510,355)])
link(Str2,5325029:Text,[(552,355)(573,355)])
}
Add(Edit,5325029,567,294)
{
Left=345
Top=585
Width=245
Text="123456"
}
Add(Edit,848935,504,294)
{
Left=155
Top=585
Width=175
Text="test01"
}
Add(StrList,16267355,679,455)
{
}
Add(ListBox,14771765,1414,686)
{
Left=165
Top=45
Width=910
Height=465
link(onChange,445326:doClear,[(1458,692)(1458,696)(1248,696)(1248,699)])
}
Add(ListBox,9763756,1239,133)
{
Left=255
Top=20
Width=380
Height=485
Visible=1
DataType=1
}
Add(ODialog,9697955,1085,119)
{
Select=1
link(onExecute,9763756:doAdd,[(1178,125)(1178,139)])
}
Add(Button,12000944,987,119)
{
Top=55
Width=145
Height=50
Font=[MS Sans Serif,10,1,255,1]
Caption="..."
link(onClick,9697955:doExecute,[])
}
Add(Counter,14212346,1190,210)
{
Min=-1
Default=-1
Point(Max)
link(onNext,3167038:doRead,[])
link(Max,9763756:Count,[(1196,188)(1252,188)])
}
Add(ArrayRW,3167038,1274,210)
{
link(onRead,4525002:doStart,[(1318,216)(1318,268)(751,268)(751,321)])
link(Array,9763756:Array,[(1280,188)(1259,188)])
}
Add(Thread,4525002,763,315)
{
link(onExec,15439320:doEvent1,[])
}
Add(HubEx,5357300,1162,210)
{
link(onEvent,14212346:doNext,[])
}
Add(StrList,445326,1260,686)
{
link(onChange,10668794:doSearch,[])
}
Add(BlockFind,8644012,1358,686)
{
StartBlock="[url=https://picstate.com"
EndBlock="[/img][/url]"
link(onSearch,14771765:doAdd,[])
}
Add(BlockFind,10668794,1309,686)
{
IncludeBlock=1
StartBlock="<p>BBCode Thumbnails Pictures for forums</p>"
EndBlock="</textarea>"
link(onSearch,8644012:doSearch,[])
link(Text,445326:Text,[(1315,674)(1290,674)(1290,730)(1266,730)])
}


Редактировалось 4 раз(а), последний 2020-06-02 15:48:29
карма: 0

0
Ответов: 4234
Рейтинг: 661
#280: 2020-06-02 16:24:15 ЛС | профиль | цитата

Add(MainForm,2953706,21,105)
{
Width=593
Height=332
Caption="Upload"
Position=1
Point(onClose)
link(onCreate,2515764:In,[])
link(onClose,16535532:In,[(61,132)(61,146)])
}
Add(ListBox,9763756,518,112)
{
Left=15
Top=70
Width=560
Height=180
Visible=1
DataType=1
}
Add(ODialog,9697955,434,112)
{
Select=1
link(onExecute,12113901:doWork2,[])
}
Add(Button,12000944,378,112)
{
Left=15
Top=40
Width=125
Font=[MS Sans Serif,10,1,255,1]
Caption="Add file..."
link(onClick,9697955:doExecute,[])
}
Add(Thread,4525002,455,231)
{
FastStop=0
link(onExec,1179673:doEnum,[])
AddHint(-11,45,37,13,FastStop)
}
Add(Button,14457400,406,231)
{
Left=15
Top=260
Width=110
Height=25
Caption="Send!"
link(onClick,4525002:doStart,[])
}
Add(ArrayEnum,1179673,532,231)
{
link(onItem,11864578:doEvent1,[])
link(Array,9763756:Array,[])
}
Add(Hub,11864578,630,231)
{
link(onEvent1,8993969:doLoadString,[(693,237)(693,41)])
link(onEvent2,16373781:doLoadString,[(693,244)(693,384)])
}
Add(EventFromData,6655165,868,322)
{
link(onEvent,6079180:doString,[])
}
Add(HTTPClient,16373781,847,378)
{
URL="https://picstate.com/multiuploader.php"
Method=1
Headers="Origin: https://picstate.com\r\nAccept: */*\r\nAccept-Language: ru-UA\r\nHost: picstate.com\r\nConnection: Keep-Alive\r\nCache-Control: no-cache\r\n"
Referer="https://picstate.com/multiup"
UserAgent="User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763"
FileField="file"
FileMIME="image/png"
Boundary="---------------------------7e413830430de8"
CookieManager="rest"
Point(UploadFile)
Point(PostData)
Point(CurrentURL)
Point(onRedirect)
Point(doLoadStream)
Point(doExecute)
link(onFinish,7364812:doString,[])
link(UploadFile,1179673:Item,[(867,363)(538,363)])
link(PostData,6655165:GetData,[])
AddHint(-77,57,199,13,URL)
AddHint(39,32,44,13,Method)
}
Add(FormatStr,6079180,910,322)
{
DataCount=4
Mask="timestamp=%1\r\ntoken=%2\r\nmultiup_sess=%3\r\nname=%4\r\npl_ver=new"
Point(FString)
link(onFString,6655165:doData,[(960,328)(960,316)(856,316)(856,328)])
link(Str1,1501388:Var,[])
link(Str2,2076554:Var,[])
link(Str3,7967773:getVar,[])
link(Str4,16622634:getVar,[])
}
Add(LineBreak,16507820,945,98)
{
Caption="token"
Type=1
link(Data,6787377:Value,[])
Primary=[2076554,-28,140]
}
Add(LineBreak,1273808,875,98)
{
Caption="timestamp"
Type=1
link(Data,16763671:Value,[])
Primary=[1501388,35,112]
}
Add(LineBreakEx,7967773,924,259)
{
@Color=43520
Caption="multiup_sess"
Type=2
}
Add(LineBreakEx,15266676,1001,98)
{
@Color=43520
Caption="multiup_sess"
Type=3
link(_Data,5103400:Value,[])
}
Add(LineBreakEx,16622634,931,287)
{
@Color=43690
Caption="name"
Type=2
}
Add(LineBreakEx,6179790,1092,98)
{
@Color=43690
Caption="name"
Type=3
link(_Data,4350528:Value,[])
}
Add(HTTPClient,7217892,1113,385)
{
URL="https://picstate.com/multiup"
Method=1
Headers="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\nAccept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3\r\nConnection: keep-alive\r\nHost: picstate.com\r\nUpgrade-Insecure-Requests: 1\r\nTE: Trailers"
Referer="https://picstate.com/multiup"
UserAgent="User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763"
EncType=1
FileField="file"
FileMIME="image/png"
Boundary="---------------------------7e4217d430de8"
SSLProtocols=1
Decompress=1
CookieManager="rest"
Point(UploadFile)
Point(PostData)
Point(CurrentURL)
Point(onRedirect)
link(PostData,7364812:FString,[(1140,373)(1088,373)(1088,429)(1035,429)])
AddHint(-74,55,149,13,URL)
AddHint(47,30,44,13,Method)
}
Add(FormatStr,7364812,1029,385)
{
Mask="multiup_sess=%1\r\naction=upload\r\nfolder_id=\r\nresize=600\r\ncustom_resize=\r\nshow_original=on\r\nuploader_0_tmpname=%2\r\nuploader_0_name=\r\nuploader_0_status=done\r\nuploader_count=1"
Point(FString)
link(onFString,7217892:doLoadString,[])
link(Str1,10085990:getVar,[])
link(Str2,2171218:getVar,[])
}
Add(LineBreakEx,10085990,1029,336)
{
@Color=43520
Caption="multiup_sess"
Type=2
}
Add(LineBreakEx,2171218,1036,357)
{
@Color=43690
Caption="name"
Type=2
}
Add(HTTPClient,8993969,742,35)
{
URL="https://picstate.com/multiup"
Headers="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\nAccept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3\r\nUpgrade-Insecure-Requests: 1\r\nTE: Trailers"
Referer="https://picstate.com/myfiles"
UserAgent="User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763"
EncType=1
IgnoreInvalidCN=1
Decompress=1
CookieManager="rest"
Point(Headers)
Point(PostData)
Point(RawHeaders)
Point(CurrentURL)
Point(onRedirect)
AddHint(-43,54,149,13,URL)
AddHint(44,30,37,13,Method)
}
Add(InfoTip,599470,679,7)
{
Info=#49:Здесь - подготовить данные для следующих запросов|
Width=463
Height=130
}
Add(CookieManager,16633777,161,203)
{
Filename="Cookie\\picstate.txt"
Name="rest"
Point(doDelete)
Point(onChange)
Point(doClear)
}
Add(LineBreak,6135889,63,217)
{
Caption="save"
link(Out,16633777:doSave,[])
Primary=[16535532,7,-77]
}
Add(LineBreak,10440100,63,238)
{
Caption="load"
link(Out,16633777:doLoad,[(115,244)(115,230)])
Primary=[2515764,7,-119]
}
Add(Button,12479344,56,525)
{
Left=300
Top=10
Width=100
Caption="login"
link(onClick,11811091:doLoadString,[])
}
Add(HTTPClient,11811091,126,525)
{
URL="https://picstate.com/account/login"
Method=1
Headers="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\nAccept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3\r\nReferer: https://picstate.com/login\r\nOrigin: https://picstate.com\r\nUpgrade-Insecure-Requests: 1\r\nTE: Trailers"
UserAgent="User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763"
IgnoreInvalidCN=1
Decompress=1
CookieManager="rest"
Point(Headers)
Point(PostData)
Point(onRedirect)
Point(RawHeaders)
link(PostData,4368628:GetData,[])
AddHint(-43,44,182,13,URL)
}
Add(FormatStr,7240677,196,469)
{
Mask="action=login\r\ntask=login\r\nreturn=\r\nusername=%1\r\npassword=%2\r\nremember=1\r\nsubmit=Login"
Point(FString)
link(onFString,4368628:doData,[(240,475)(240,463)(135,463)(135,475)])
link(Str1,848935:Text,[(202,439)(167,439)])
link(Str2,5325029:Text,[])
}
Add(Edit,5325029,203,392)
{
Left=150
Top=10
Width=140
Text="123456"
}
Add(Edit,848935,161,392)
{
Left=15
Top=10
Width=125
Text="test01"
}
Add(EventFromData,4368628,147,469)
{
link(onEvent,7240677:doString,[])
}
Add(InfoTip,1514764,42,322)
{
Info=#46:Авторизация - добавить контроль успеха/ошибки,|31:проверку состояния авторизации |49:(раз куки сохраняются, значит после загрузки уже |24:можем быть авторизованы)|
Width=295
Height=277
}
Add(Memory,16763671,875,56)
{
}
Add(Memory,6787377,945,56)
{
}
Add(Memory,5103400,1001,56)
{
}
Add(Memory,4350528,1092,56)
{
}
Add(DropFile,12210781,434,161)
{
link(onDropFile,12113901:doWork3,[(494,167)])
}
Add(HubEx,12113901,490,112)
{
link(onEvent,9763756:doAdd,[])
}
Add(Button,16575668,406,315)
{
Left=500
Top=260
Width=75
Caption="Abort"
link(onClick,13601556:doEvent1,[])
}
Add(LineBreak,4937844,791,392)
{
Caption="abort"
link(Out,16373781:doAbort,[])
Primary=[13140316,-301,-70]
}
Add(Hub,13601556,462,315)
{
link(onEvent1,1179673:doStop,[(504,321)(504,244)])
link(onEvent2,13140316:In,[])
}
germes5558 писал(а):
Поток будет ждать пока файл выгрузится на сервер?
Да.
germes5558 писал(а):
его начинает лить по кругу бесконечно
Thread.FastStop должен быть True.
карма: 22

0
Ответов: 83
Рейтинг: 0
#281: 2020-06-03 01:00:03 ЛС | профиль | цитата
Netspirit, Спасибо тебе большое! Даже не знаю как отблагодарить. Время потратил на меня не мало...

PS. долго возился еще с перебором массива, так как ты сделал в схеме не срабатывало, пока после перебора массива не поставил компонент DoData)))


Make(delphi)
ver(4.05 build 186)
Add(MainForm,2953706,21,105)
{
}
Add(ListBox,9763756,714,322)
{
Left=15
Top=70
Width=560
Height=180
DataType=1
}
Add(ODialog,9697955,623,322)
{
Select=1
link(onExecute,9763756:doAdd,[])
}
Add(Button,12000944,567,322)
{
Left=15
Top=40
Width=125
Font=[MS Sans Serif,10,1,255,1]
Caption="Add file..."
link(onClick,9697955:doExecute,[])
}
Add(Hub,15439320,826,441)
{
OutCount=3
}
Add(Button,14583897,623,441)
{
Left=15
Top=260
Width=110
Height=25
Caption="Send!"
link(onClick,4525002:doStart,[])
}
Add(Thread,4525002,679,441)
{
FastStop=0
link(onExec,1179673:doEnum,[])
AddHint(-11,45,37,13,FastStop)
}
Add(ArrayEnum,1179673,728,441)
{
link(onItem,998709:doData,[])
link(Array,9763756:Array,[])
}
Add(DoData,998709,777,441)
{
link(onEventData,15439320:doEvent1,[])
}

карма: 0

0
Ответов: 83
Рейтинг: 0
#282: 2020-06-06 00:40:30 ЛС | профиль | цитата
А можно ли как то сделать, что бы при не удачной выгрузке файла, можно было повторить выгрузку ТОЛЬКО файлов которые не выгрузились? (надеюсь поймете о чем я)
карма: 0

0
Ответов: 83
Рейтинг: 0
#283: 2020-06-09 02:40:21 ЛС | профиль | цитата
Сам спросил - сам отвечу:
Можно, с помощью ArrayFind с параметром "Искать по части строки" на которую мы передаём имя загруженного файла...
карма: 0

0
Ответов: 4234
Рейтинг: 661
#284: 2020-06-09 12:28:07 ЛС | профиль | цитата
1) Перебираешь основной список имен файлов.
2) Перед запросом каждое имя сохраняешь в Memory
3) После запроса если произошла ошибка - добавляешь имя в другой список "неудавшихся"
4) По окончании перебора основного списка перекидаешь в него второй список и если там есть файлы - повторяешь перебор основного списка.
карма: 22

0
Ответов: 1636
Рейтинг: 116
#285: 2020-06-09 16:31:45 ЛС | профиль | цитата
Сам спросил - сам отвечу:

germes5558, у тебя вопрос выскакивает, прежде чем вообще о чём то подумал.
В рамках хорошего тона, наверное надо рассказать что пытался делать и почему не получилось!
Если не знаешь вообще с чего подступиться, то надо изучить тему и вложить правильные слова в вопрос, чтобы люди не Ванговали. При правильном формулировании вопроса - ответ приходит прежде, чем дописал его!

Редактировалось 1 раз(а), последний 2020-06-09 16:32:56
карма: 4

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)