Skip to content

jpbarrette/curlpp

Repository files navigation

License: MIT Travis CI AppVeyor CI

Description

cURLpp is a C++ wrapper for libcURL. libcURL is described as:

a free and easy-to-use client-side URL transfer library, supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. libcurl supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, kerberos, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, http proxy tunneling and more! libcurl is highly portable, it builds and works identically on numerous platforms, including Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, HPUX, IRIX, AIX, Tru64, Linux, Windows, Amiga, OS/2, BeOs, Mac OS X, Ultrix, QNX, OpenVMS, RISC OS, Novell NetWare, DOS and more... libcurl is free, thread-safe, IPv6 compatible, feature rich, well supported and fast.

First, I need to quote Daniel Stenberg, the maintener of libcURL: You can use libcURL instantly from within your C++ programs. You don't need cURLpp for that, cURLpp just adds an OO'ified layer that libcURL doesn't normally provide. It means that you need to be sure that you need, or want, cURLpp features. If not, I suggest to use directly the libcURL library. So, what are thoses features that cURLpp offers?

  • You can query handles for option values (version 0.5.x and newer only).
  • It uses the C++ standard library structures instead of home made ones.
  • It is exception safe.
  • It is type safe.

Download

Latest version is available on GitHub here.

Documentation

The programming guide is here. This guide is greatly inspired by the libcURL guide, that I strongly suggest to read. There's also some examples in the "examples/" source directory of cURLpp.