Вниз
Скачать: CL | DM;

<b>Получить html-файл с удаленного сервера</b>   Найти похожие ветки 

← →
Игорь   (2004-01-19 19:39) [0]

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


← →
easy ©   (2004-01-20 16:25) [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;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: -0.97 c
1-1078385298
Юкс
2004-03-04 10:28
2004.03.28
Создание интерпретатора


3-1078101905
dir_Err
2004-03-01 03:45
2004.03.28
создание копии...


1-1078839959
Term
2004-03-09 16:45
2004.03.28
Как округлить число с точностью до 2-х знаков после запятой?


1-1078647630
bjohny
2004-03-07 11:20
2004.03.28
Утечка памяти


1-1078691923
Ton
2004-03-07 23:38
2004.03.28
Расширенный RTF/DOC




   Наверх