Send cookies with curl

dmz73 picture dmz73 · Aug 24, 2011 · Viewed 102.3k times · Source

I am using curl to retrieve cookies like so:

curl -c cookies.txt url

then I parse the cookie I want from the cookies.txt file and send the request again with the cookie

curl -b "name=value" url 

Is this the correct way to send the cookie? Is there a simpler way?

Answer

Daniel Stenberg picture Daniel Stenberg · Aug 25, 2011

You can use -b to specify a cookie file to read the cookies from as well.

In many situations using -c and -b to the same file is what you want:

curl -b cookies.txt -c cookies.txt http://example.com

Further

Using only -c will make curl start with no cookies but still parse and understand cookies and if redirects or multiple URLs are used, it will then use the received cookies within the single invoke before it writes them all to the output file in the end.

The -b option feeds a set of initial cookies into curl so that it knows about them at start, and it activates curl's cookie parser so that it'll parse and use incoming cookies as well.

See Also

The cookies chapter in the Everything curl book.