Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

<b>Получить html-файл с удаленного сервера</b> [D7]


Игорь ©   (2004-01-19 19:39:00) 

Вопрос такой. Как получить html-файл с удаленного сервера по заданному URL и сохранить его у себя на диске, не прибегая к использованию TWebBrawser?Заранее огромное спасибо.


easy   (2004-01-20 16:25:00) [1]

uses wininet;

...

function DownloadFile(const Url: string): string;
var
 NetHandle: HINTERNET;
 UrlHandle: HINTERNET;
 Buffer: array[0..1024] of char;
 BytesRead: cardinal;
begin
 Result := '';
 NetHandle := InternetOpen('Delphi 5.x', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);

 if Assigned(NetHandle) then
 begin

   UrlHandle := InternetOpenUrl(NetHandle, PChar(Url), nil, 0, INTERNET_FLAG_RELOAD, 0);

   { UrlHandle правильный? Начинаем загрузку }
   if Assigned(UrlHandle) then
   begin
     FillChar(Buffer, SizeOf(Buffer), 0);
     repeat
       Result := Result + Buffer;
       FillChar(Buffer, SizeOf(Buffer), 0);
       InternetReadFile(UrlHandle, @Buffer, SizeOf(Buffer), BytesRead);
     until
       BytesRead = 0;
     InternetCloseHandle(UrlHandle);
   end
   else
   begin
     { UrlHandle неправильный. Генерируем исключительную ситуацию. }
     raise Exception.CreateFmt('Cannot open URL %s', [Url]);
   end;

   InternetCloseHandle(NetHandle);
 end
 else
   { NetHandle недопустимый. Генерируем исключительную ситуацию }
   raise Exception.Create('Unable to initialize Wininet');
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо