CurlPas is a Pascal binding and object-oriented wrapper for the LibCurl client-side URL transfer library.

LibCurl is mature, stable, powerful, actively maintained, well-supported, and well-documented.
For more information on the wonders of LibCurl, visit

While CurlPas is not nearly as well-tested as LibCurl, I would consider it to be quite stable at this point.

Both CurlPas and LibCurl are distributed under liberal open-source licensing, permitting their use in both open-source and proprietary applications.

CurlPas was developed and tested on the following systems:

  • FreePascal-2.0 for Linux-i386 on SuSE-9.2.
  • Kylix-3.0 Open Edition on SuSE-9.2.
  • FreePascal-2.0 for Windows on Win98.
  • Delphi-6.0 Personal Edition on Win98.

In addition, the CurlPas components are also compatible with the Lazarus LCL.

The CurlPas package consists of three parts:

  • The core bindings to libcurl, contained in curl_h.pas
  • The tCurl component, which provides a wrapper around a curl_easy session.
  • The tCurlMulti component, which serves as a container for multiple tCurl objects,
    and provides a wrapper around a curl_multi session.

The FreePascal versions of tCurl and tCurlMulti exist in two different incarnations, the lightweight objects defined in curlobj.pas, and the full-fledged Lazarus components defined in lazcurl.pas .

To date, the tCurl object has over 130 different properties and methods to handle a wide variety of URL transfer requirements. While this may seem overwhelming at first glance, the good news is you will probably need only a small subset of these for most situations.

I would recommend at least browsing through the tcurl.html file to get some idea of what's available, and then refer back to the documentation as needed. Examples for several CurlPas applications are also provided in the demo folder.

Support This Project  
Get CurlPas and TidyPas at Fast, secure and Free Open Source software downloads