Perhaps you can use Network.Browser (from HTTP) http://hackage.haskell.org/package/HTTP-4000.0.9 It handles cookies under the hood (you don't see it, but it works) because it keeps a browser session state. J.W.