Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.28;
Скачать: 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 вся ветка

Текущий архив: 2004.03.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
1-1078556683
able
2004-03-06 10:04
2004.03.28
Как сделать нумерацию строк в TRichEdit?


7-1073639480
Juliet
2004-01-09 12:11
2004.03.28
Лоток принтера


1-1078410219
a.t.k.
2004-03-04 17:23
2004.03.28
Встороить ComboBox в ячейку StringGrid


4-1073988455
Freeman184
2004-01-13 13:07
2004.03.28
Как программно прикрепить файл к письму из Delphi?


3-1077476512
kba
2004-02-22 22:01
2004.03.28
Kak s TUPDATESQL da update BLOB