Re[2]: Скачать файл с защищённого сервера
От: axon_an  
Дата: 12.08.05 07:51
Оценка:
Здравствуйте, BeeNokle, Вы писали:

BN>Здравствуйте, axon_an, Вы писали:


_>>Доброе время суток!


_>> Мне нужно качать файл http://users.ints.net/donalex/Ostatuli.zip три раза в день (ессно пароль и логин я знаю), как мне автоматизировать это действо? Пользую BDS2005, хотя стоит и D7. Слышал что можно с помощью библиотеки Indy, но какой именно компонент и как? Или если через Wininet, то куда там вписывать логин/пароль?


BN>Конечно с помощью Инди. Авторизацию можно пройти указав username и password в св-ве Request:


BN>idHTTP.request.username:='';

BN>...

BN>А потом делаете постом или гетом. Лучше постом, он возвращает поток сразу, который вы и сохранишь в файл.


BN>Доп. информацию найдете в справке, тем более что в D2005 они достаточно удобная, и по инди там есть информация тоже!



Я попробовал сделать так:


var
idhttp: TIdHTTP;
stream: TFileStream;
begin
 idhttp := TIdHTTP.Create(nil);
 try
   stream := TFileStream.Create('c:\Ostatuli.zip', fmCreate);
   try
     idhttp.request.username := 'my_login';
     idhttp.request.Password := 'my_password';
     idhttp.get('http://users.ints.net/donalex/Ostatuli.zip', stream);
   finally
     stream.Free;
   end;
 finally
   idhttp.Free;
 end;
end;


На что оно мне сказало:

Project raized exception class EIdHTTPProtocolExceptionwith message 'HTTP/1.0 401 Unauthorized'. Process stopped. Use Step or Run to continue.




Как ещё можно, или где сдесь баг (вариант ответа — в ДНК не устроит)?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.