curl is the C URL library - its a command-line tool for making web requests, with libraries available in many languages. Personally I prefer to use it from the command line and recently I have been using it with cookies for a web services which set a cookie at login and then needed this to be supplied on all subsequent requests. This turned out to be really simple so I thought I'd put some notes down on how to do it.
Storing Cookies in a Jar
Quite enchantingly, its traditional to call a cookie storage a "cookie jar" which makes a lot of sense when you think about it! To do this with curl, use the -c switch:
curl -c lj.txt http://www.lornajane.net
If you now examine the resulting file, lj.txt, you'll see that it contains all the details of the cookie. You can edit this if you want to (health warning: only do this if you know what you are doing! If you need to test something though, its useful), and then submit the next request with that cookie attached - exactly as your browser would.
Making Requests with Cookies
To make the next request with the cookie, simple replace the -c with a -b to dip into the cookie jar and sent all relevant cookies for this domain with your request, like this:
curl -b lj.txt http://www.lornajane.net
As I say, I was using this with a web service, where it made no sense to use a browser as I also needed to pass data with the requests. You might also like to refer to my curl cheat sheet previous post.