Why would I use Poco over libCurl?

A general discussion forum.
Posts: 4
Joined: 21 Jun 2011, 02:47

Why would I use Poco over libCurl?

Postby jonxboy01 » 21 Jun 2011, 02:50


I am starting a new network-based project and I was wondering if someone can provide advantages/disadvantages that Poco has over libCurl. Does Poco perform better? Does it have a smaller memory footprint? Is it smaller on disk? Less CPU overhead?


Posts: 3
Joined: 28 Mar 2011, 09:27

Re: Why would I use Poco over libCurl?

Postby mws » 21 Jun 2011, 08:12


imho poco is definitely not meant as a replacement or successor of libCurl.

It is a package of libraries that also provide some or all of the libCurl functions.

thus, if you just want to have some libCurl functions - use libCurl and reinvent all other
if you want to have a kind of an application framework that also provides your libCurl needs
take poco.

Posts: 1
Joined: 19 Aug 2011, 21:27
Location: Texas

Re: Why would I use Poco over libCurl?

Postby dlethe » 19 Aug 2011, 21:51

I'm also writing an agent type program that will have to run in military / secure / encrypted environments, and am trying to find the "right" framework. My needs are low (zero footprint), database (local tinysql is ideal) + Mysql & odbc from external sources; threaded, and multiplatform

So it sure looks like Poco has it all, but it just scares me to death as it doesn't seem there is much talent out there. I can farm it out, but really want to be able to have the knowledge I can bring somebody on full-time to maintain and improve the code. This is also commercial, so have to make sure I don't get into licensing hell.

libCurl + one of several database libraries would be more clunky, and I can find people in the Dallas Fort Worth area should I bring somebody on full time.

So any thoughts? If I farm out a working framework, can any decent C++ programmer pick this up easily enough? I really need to make a decision ASAP and don't want to run into any nasty surprises that make me wish I would have gone down a different path.

(Like there are memory leaks or it locks up or does weird things if something times out and there is no way to recover)

Posts: 1268
Joined: 11 Jul 2006, 16:27
Location: Austria

Re: Why would I use Poco over libCurl?

Postby guenter » 22 Aug 2011, 15:55

I agree that it may be not that easy to find developers already familiar with POCO. But then, any decent C++ developer with some background in network programming should be quick to get up to speed with POCO.

Regarding stability/maturity of the framework: POCO has been successfully used in many projects (commercial and open source) since 2006, so this should not be an issue. Plus, there are also commercial support options available.

Posts: 78
Joined: 13 Apr 2011, 17:43
Location: Chicago

Re: Why would I use Poco over libCurl?

Postby rakesh » 15 Sep 2011, 18:37

I am an absolute newbie when it comes to C++, yet I have used it successfully on what I hope will be a cross platform mobile application framework. I have lots of Java experience, and I find the Poco libraries more similar to Java API than boost.


Posts: 29
Joined: 24 Aug 2010, 14:47

Re: Why would I use Poco over libCurl?

Postby SalvorHardin » 06 Jan 2012, 00:07

I just finished writing a DLL that wraps latest libcurl so I can use HTTPS with Delphi, Visual C++, etc. without bundling 3rd-party DLLs.

Unfortunately, I needed to add client-side certificates so both the server and client can verify each other. And I needed the certificates to be read from RAM. I was under a lot of time pressure, so I used Poco instead of modifying my libcurl wrapper.

libcurl's easy API is indeed easy, but it does things in C (no classes or streams etc.):

Poco uses C++ with classes, iostreams, etc. and I prefer it over libcurl easy API.

I haven't noticed any memory leaks (server-side) with Poco 1.4.2p1 HTTPS server.

Another bonus, I've never seen guenter verbally assault anyone for asking a pretty well-crafted question/suggestion. I saw a newbie post a fairly reasonable suggestion on libcurl (here's a bug, perhaps you can fix it this way, not sure if it is the proper way to fix) and he was ripped to shreds by an angry badger attack. So if you go with libcurl, just make sure you don't use the word "perhaps" when posting a question -- and make sure you submit a tested patch instead of offering a suggestion. I looked for the post (Nov 2011 or Dec 2011) but was unable to find it because I don't remember the subject or author (the attacker appears too many posts to filter out.) I never felt so much happiness that my question was simply ignored and spared from such a response.


If you are new to C++, then I recommend C++ Primer 4th Edition (look for Barbara Moo as the author.) You picked a good time to learn C++. It is making a comeback and C++2011 and LLVM 3.x/clang will probably increase the popularity even more.

Return to “General Discussion”

Who is online

Users browsing this forum: No registered users and 2 guests