Поиск по блогу

понедельник, 15 ноября 2010 г.

Delphi: работа с cURL с помощью библиотеки-обертки Curlpas

Indy и Synapse вам надоели? Самое время попробовать что-нибудь новенькое :)

Если кто-нибудь, начитавшись статей про cURL (я писала не раз про работу с cURL в PHP), решит попробовать работать с этой библиотекой и в Delphi, то ничего сложного в этом нет.

Установка CURL и работа с этой библиотекой в Delphi 7


1. Скачиваем файлы библиотеки libcurl с сайта разработчика по ссылке. Из всего разнообразия выбираем те, что подходят для нашей операционки. В моем случае это:
libcurl для Windows

Содержимое папки bin из скачанного архива копируем в C:\WINDOWS\system32\. Там несколько файлов dll:
Файлы библиотеки libcurl

2. Скачиваем готовую библиотеку-обертку CurlPas для работы с libcurl.

3. Распаковываем архив куда-нибудь, например, в C:\Program Files\Borland\Delphi7\Source\Curlpas\. Обратите внимание, в архиве есть еще документация и примеры использования (папка demo).

4. Запускаем батник Makewin.bat с параметром src (или all, чтобы уж не мелочиться :) ).

Смотрим лог выполнения инструкций. Там должно быть что-то вроде "все успешно" по каждой директиве.

5. Можно приступать к тестированию библиотеки. Создаем приложение.

В uses прописываем:
uses
... curlobj;


Помещаем на форму кнопку, в обработчике нажатия пишем код:
procedure TForm1.Button1Click(Sender: TObject);
var
Curl: TCurl;
begin
Curl := TCurl.Create(nil);
Curl.URL := 'http://parsing-and-i.blogspot.com/';
Curl.OutputFile := 'curl.html';
if not Curl.Perform then
ShowMessage(Curl.ErrorString);
Curl.Free;
end;

Запускаем. Все должно без проблем скомпилиться, в итоге после нажатия кнопки в папке с проектом появится файл curl.html с html-кодом главной страницы моего блога :)

Возможные ошибки при установке Curlpas


По каким-то причинам могут не "подхватиться" библиотеки. Тогда после запуска приложения может появиться что-то типа такого сообщения:
Приложению не удалось запуститься, поскольку libcurl-3.dll не был найден. Повторная установка приложения может решить эту проблему.

Ошибка при установке libcurl в Delphi
Если компилятор запрашивает файл libcurl-3.dll, а в скачанном пакете libcurl у вас файл называется libcurl.dll (зависит от версии библиотеки), то найдите файл curl_h.pas (из папки C:\Program Files\Borland\Delphi7\Source\Curlpas\src\, если вы устанавливали по моей инструкции) и в нем исправьте название файла.

Потом перекомпилируйте библиотеку.

Если не находятся какие-то другие dll — еще раз проверьте их наличие в System32 (или другом каталоге, как у вас принято).

Вот, в общем-то, и все — установка завершена, можете работать с библиотекой дальше. В папке doc — достаточно полная документация. А онлайн документация есть здесь.
___

Чтобы быть в курсе обновлений блога, можно подписаться на RSS.

Статьи схожей тематики:



4 комментария:

  1. Тема очень интересна. Но вот как подружить Curl c D2010?

    ОтветитьУдалить
  2. Я не знаю, у меня 2010 нет :)

    ОтветитьУдалить
  3. Хорошая статья. Жаль,только, что разработчик CurlPas пишет,что библиотека тестировалась на Delphi-6.0 Personal Edition on Win98. Может поэтому у меня вылезает access violation как только подключается библиотека curlobj.
    В общем, буду танцевать с бубнами. Среда -XP SP3/D7

    ОтветитьУдалить
  4. У меня была такая же ошибка, я добавил в uses модули winsock, curl_h, и все заработало.

    ОтветитьУдалить

Комментарии модерируются, вопросы не по теме удаляются, троллинг тоже.

К сожалению, у меня нет столько свободного времени, чтобы отвечать на все частные вопросы, так что, может, свой вопрос лучше задать на каком-нибудь форуме?

Поделиться