The HTTP package supports client-side web programming in Haskell. It lets
you set up HTTP connections, transmitting requests and processing the
responses coming back, all from within the comforts of Haskell. It's
dependent on the network package to operate, but other than that, the
implementation is all written in Haskell.

A basic API for issuing single HTTP requests + receiving responses is
provided. On top of that, a session-level abstraction is also on offer (the
BrowserAction monad); it taking care of handling the management of
persistent connections, proxies, state (cookies) and authentication
credentials required to handle multi-step interactions with a web server.

The representation of the bytes flowing across is extensible via the use of
a type class, letting you pick the representation of requests and responses
that best fits your use. Some pre-packaged, common instances are provided
for you (ByteString, String).

Homepage:
http://hackage.haskell.org/package/HTTP
