#include "_doctype.html"
libcurl - Libwww Comparison
#include "css.t"
#define LIBCURL_LIBWWW
#define CURL_URL libcurl/libwww.html
#include "_menu.html"
#include "setup.t"
#include "table.t"
WHERE2(libcurl, "/libcurl/", Libwww Comparison)
TITLE(Notes About Libwww compared to libcurl)
These are only some quick notes. If you have additional experiencies and
comments you want to share with the world, we're all ears!
- libcurl is (far) more portable
- libcurl is supported and has a living community (compare traffic on the
mailing lists, release frequency or similar)
- programs need less code to transfer files using libcurl than a libwww-
based equivalent
- libcurl is thread-safe, libwww is not
- libcurl has a different feature-set and offers several features not
present in libwww, like several HTTP authentication types and gzip support
- libcurl supports more protocols
- libwww offers caching and HTML parsing, which libcurl doesn't
Quote from a usenet posting by Carl Daniel:
Having used both, I'd recommend libcurl and definitely not libwww.
libcurl is easy to use and gives good performance. libwww is a nightmare to
use, performs poorly (no overlapped I/O support, for example), and is
practically undocumented (on top of which it's a very complex library).
libwww is really a platform for network protocol development, not a library
for basic access to well known network protocol stacks.
Quote from the libwww-mailing list by Akritidis Xristoforos:
I devoted a full man-month trying to understand libwww, writing a function of
intermediate complexity (supporting post requests, xml parsing, authentication
etc.) and figuring out that the problems I encountered were due to libwww and
not my code.
I switched to libcurl, rewrote the same code in a week and haven't
looked back.
Perhaps this library has some features that libcurl doesn't, though I didn't
have to use them for my needs. However, for libwww to survive, someone has to
focus on these features and let libcurl do the rest.
Personally, I can't find any reason to suggest libwww to anyone.
#include "_footer.html"