|
Тема
|
File download минавайки през идентификация
|
|
Автор |
Mиpo () |
Публикувано | 23.07.06 21:12 |
|
Правя база данни, която се захранва даунлоадвайки по интернет периодически файлове от един сървер. Проблемът е, обаче, че при всяко сваляне се изисква логин&парола от типа по-долу, което ме затруднява да автоматизирам целия процес.
Ровейки се последните няколко дена открих 2 подхода за сваляне на файлове с Делфи.
1. Командата UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil), която работи доста добре в общия случай. Но в моя конкретен, където е нужна идентификация, не става с нея и даже не се появя прозореца за идентификация...
2. С Webbrowser.Navigate започвам да зареждам адреса, където е съответния файл (pdf или doc). Тук се появя прозореца за идентификация и, понеже веднъж логина и паролата вкарани в него се запомнят автоматично от IE, то ми остава да натисна само ENTER, което симулирам лесно с
keybd_event(VK_Return, 1, 0, 0);
keybd_event(VK_Return, 1, KEYEVENTF_KEYUP, 0);
Така pdf файлът ми е зареден в webbrowsera. С командата Webbrowser.ExecWB(OLECMDID_SAVEAS,OLECMDEXECOPT_DODEFAULT) ми се отваря меню "Save As" на интегрирания Акробат в уеб браузера и аз пак симулирам ENTER по горния начин и файлът се записва безпроблемно (не знам защо обаче OLECMDID_SAVE не работи директно без да се отваря диалога за избор на директория). Проблемът в този случай е, че директорията, където се записва файлът, е последната директория използвана от Акробата и не знам как мога да я променям/указвам автоматично? Това е важно за случаите, когато съм записвал ръчно нещо с Акробата някъде другаде на този компютър и файловете ще започнат да се записват там...
Та, ако някой има идея по проблемите в двата изложени подхода или пък знае друг по-ефикасен подход за сваляне на файлове в такива случаи, ще съм му много благодарен.
| |
Тема
|
Re: File download минавайки през идентификация
[re: Mиpo]
|
|
Автор |
SAGE_BS (познавам го) |
Публикувано | 24.07.06 00:08 |
|
Опитай с:
InternetConnect(....)
FtpOpenFile(....)
InternetReadFile(....)
Виж това:
Може да прочетеш и това:
| |
Тема
|
Re: File download минавайки през идентификация
[re: Mиpo]
|
|
Автор |
Pechenia (нема лабаво ;-) |
Публикувано | 24.07.06 11:24 |
|
Бърз въпрос към бай Гугъл изплю следното:
http://www.autoitscript.com/forum/index.php?showtopic=5840
Не съм сигурен обаче дали работи, а и нямам време за проби.
чети и дишай по-леко
| |
Тема
|
За SAGE_BS и Pechenia
[re: Pechenia]
|
|
Автор |
Mиpo () |
Публикувано | 24.07.06 13:40 |
|
Благодаря и на двамата за отговорите. Предложението на SAGE_BS е интересно като идея, но предполагам, че и там ще има същия проблем по идентификацията (а и не знам дали в случая ще стане през ftp, вместо през url). Линкът на Pechenia обаче е супер и формата на url адреса за директна идентификация е
htttp://username:password@mywebaddress. След това свалянето става на един ред с UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil), където SourceFile е изписан в горния формат.
| |
|
|
|
|