cl-curl
Cl-curl is a set of Lisp binding to the C libcurl HTTP client library, a multiprotocol file transfer library. Libcurl is the basis for the popular curl unix/windows command line tool for fetching URIs.

You'll need the C API doc.

It is useful for network communication where trivial-http is too trivial. For example, it will allow you to access a web page where keeping cookies is required.

Homepage: http://common-lisp.net/project/cl-curl/

License: LLGPL

There is an ASDF file curl.asd in the distribution; but this is not asdf installible. Presumably because the package, system, and asdf file are named curl and curl is an overloaded term (see curl). With luck the asdf system will compile the necessary C file; if not there are directions in the C file for compiling it by hand.

Here is a very simple usage example:

(with-connection-returning-string (:reassure t) (set-option :url "http://www.cliki.net/Recent Changes") (perform))

illustrating a few things to beware of. The convenience macro with-connection-returning-string both does not quote URLs, nor does it return an error code. This macro also redefines via flet set-option and perform, etc from the usual definitions in the package.

The universe of options you can set is impressive (see curl::*option-codes* in the source), as is the set of protocols supported.


networking