Following on from what @mythz said, I ended up using the ServiceStack HTTP Utils library.
To handle cookies and custom authentication requirements, I hooked the 'requestFilter' parameter that is available in most of the extension methods, to manipulate the post's header prior to it being sent. It's just a simple Action.
It's covered my needs quite well and been quite elegant.