Как загрузить страничку из интернета
Модератор: Модераторы
Как загрузить страничку из интернета
Я нашел компонент TIpHtmlPanel (он не умеет обрабатывать css и javascript, но мне это и не нужно), смотрел пример в папке examples, нашел два топика на этом форуме. И, я так понимаю, в Lazarus нет компонента, который может загрузить страничку из интернета?
synapse - прекрасно выполняет функцию загрузки.
Еще есть родной фрипаскалевський THTTPClient в юните HTTPClient
Вот пример как на основе имеющихся в FPC средств загрузить в стрим страничку с интернета.
(используется библиотека curl)
(используется библиотека curl)
Код: Выделить всё
{$mode objfpc}
{$H+}
program teststream;
uses classes,libcurl,unixtype;
Function DoWrite(Ptr : Pointer; Size : size_t; nmemb: size_t; Data : Pointer) : size_t;cdecl;
begin
Result:=TStream(Data).Write(Ptr^,Size*nmemb);
end;
Var
f : TFileStream;
URL : Pchar = 'http://www.freepascal.org';
hCurl : pCurl;
begin
F:=TFileStream.Create('fpc.html',fmCreate);
Try
hCurl:= curl_easy_init;
if Assigned(hCurl) then
begin
curl_easy_setopt(hCurl,CURLOPT_VERBOSE, [True]);
curl_easy_setopt(hCurl,CURLOPT_URL,[URL]);
curl_easy_setopt(hCurl,CURLOPT_WRITEFUNCTION,[@DoWrite]);
curl_easy_setopt(hCurl,CURLOPT_WRITEDATA,[Pointer(F)]);
curl_easy_perform(hCurl);
curl_easy_cleanup(hCurl);
end;
Finally
F.Free;
end;
end.