Expat | zlib | regex | MySQL | Socks | MD5 | SSL
Libwww can work with a set of other software packages which greatly can augmunt the capabilities of libwww and applications that you build on top.
On Unix, this is all handled very well by the autoconf configure script but on Windows, the setup is somewhat more tricky as you need to manually edit the config.h file and have the right DLLs in the right places. In order to make it easier for you to get bootstrapped on Windows, I have included DLLs for some of these software packages in the libwww CVS tree:
You should of course always check the web sites for these packages to get up to date information on the latest versions, etc. You can find the full set of supported packages in the detailed installation instructions and also information for how to link libwww with these packages.
We use James Clark's expat XML parser and tokenizer for handling XML in libwww. Data is retieved over the network and parsed as soon as it arrives. This is already part of the libwww CVS repository so no external packages are needed.
Libwww can use the zlib library for handling the deflate content and transfer encodings in HTTP. This increases performance as we then can inflate a compressed document on the fly. A version of the precompiled zlib DLL for Win32 is already included in the w3c-libwww distribution file.
Libwww can use posix compliant regular expressions, for example to handle URI matching. This is for example used in the Webbot which can handle regular expressions when matching which URIs to check. The library has been tested with the GNU regular expression library for Win32.
Libwww can use a MySQL database for logging requests and responses instead of plain text files. The Webbot uses this for creating a map of the resources exported by a server.
Libwww can use SOCKS to go through firewalls by replacing the socket calls with SOCKS calls.
MD5 is used by the HTTP Digest authentication, for example, but can be used for other things as well. It is taken from the HTTP Digest Authentication specification. This is already part of the libwww CVS repository so no external packages are needed.
Libwww can be set up to use SSL as a
transport, for example in order to deal with the
access scheme. This requires the OpenSSL
library, for example.