![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Скачать файлы из Интернета [D7]
Novichok_new © (2007-02-16 08:49:00)Наверняка этот вопрос часто задавался, но, стыдно признаться, я даже не знаю – как сформулировать запрос в поисковике, чтобы найти ответ на вопрос:
На сайте в каталоге: « http://www.sayt.ru/katalog/»периодически выкладываются нужные мне файлы. Для доступа к этому каталогу требуется войти с определённым логином и паролем. Мне необходимо проверить – есть ли доступ в Интернет на данной машине, и, соответственно, скачать файлы. Что мне нужно искать? (функции, процедуры)
novill (2007-02-16 13:00:00) [1]мсдн HttpSendRequest может поможет...
novill (2007-02-16 12:54:00) [2]Если это http, можно отправь логин и пароль в http запросе.
novill (2007-02-16 12:52:00) [3]> [4] Novichok_New © (16.02.07 12:17)
А как он хранится?
Novichok_New (2007-02-16 12:17:00) [4]Спасибо! , нашёл:
uses Wininet;
function GetInetFile(const fileURL, FileName: String): boolean;
const BufferSize = 1024;
var hSession, hURL: HInternet;
Buffer: array[1..BufferSize] of Byte;
BufferLen: DWORD;
f: File;
sAppName: string;
begin
Result:=False;
sAppName := ExtractFileName(Application.ExeName);
hSession := InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG,
nil, nil, 0);
try
hURL := InternetOpenURL(hSession,
PChar(fileURL),nil,0,0,0);
try
AssignFile(f, FileName);
Rewrite(f,1);
repeat
InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
BlockWrite(f, Buffer, BufferLen)
until BufferLen = 0;
CloseFile(f);
Result:=True;
finally
InternetCloseHandle(hURL)
end
finally
InternetCloseHandle(hSession)
end
end;
Но как быть с логиноми паролем?
Elen (2007-02-16 09:57:00) [5]
> Elen © (16.02.07 09:56) [2]
Ой ошибочка - через WinInet, хотела сказать :)
Elen (2007-02-16 09:56:00) [6]
> Novichok_new © (16.02.07 08:49)
... или еще через winsock.
megabyte (2007-02-16 09:43:00) [7]Рюхать протоколы HTTP и/или FTP. Можно юзать компоненты Indy.