Как загрузить страничку из интернета

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Как загрузить страничку из интернета

Сообщение Climber » 01.10.2009 16:04:26

Я нашел компонент TIpHtmlPanel (он не умеет обрабатывать css и javascript, но мне это и не нужно), смотрел пример в папке examples, нашел два топика на этом форуме. И, я так понимаю, в Lazarus нет компонента, который может загрузить страничку из интернета?
Climber
постоялец
 
Сообщения: 415
Зарегистрирован: 03.06.2007 20:09:57
Откуда: Москва

Re: Как загрузить страничку из интернета

Сообщение Mr.Smart » 01.10.2009 16:15:08

synapse - прекрасно выполняет функцию загрузки.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Как загрузить страничку из интернета

Сообщение carrots » 01.10.2009 21:13:00

Еще есть родной фрипаскалевський THTTPClient в юните HTTPClient
Аватара пользователя
carrots
постоялец
 
Сообщения: 138
Зарегистрирован: 28.03.2008 02:13:02

Re: Как загрузить страничку из интернета

Сообщение carrots » 02.10.2009 23:25:03

Вот пример как на основе имеющихся в FPC средств загрузить в стрим страничку с интернета.
(используется библиотека 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.
Аватара пользователя
carrots
постоялец
 
Сообщения: 138
Зарегистрирован: 28.03.2008 02:13:02


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 33

Рейтинг@Mail.ru