Sample code for 30+ languages & platforms
Ruby

Caching cookies in-memory.

See more HTTP Examples

Caching cookies in-memory. To automatically save cookies to an in-memory cache, set the CookieDir property equal to the keyword "memory". Also, set the SaveCookies property = _TRUE_. If the SendCookies property = _TRUE_, then any cached cookies are automatically re-sent with subsequent GETs and POSTs.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

http = Chilkat::CkHttp.new()

# To save cookies to an in-memory cache, set the
# CookieDir equal to "memory".  Also,
# set the SaveCookies property:
http.put_CookieDir("memory")
http.put_SaveCookies(true)

# To cause cached cookies to be sent with 
# subsequent HTTP requests, set the SendCookies
# property = true.
http.put_SendCookies(true)

# Any methods that do a GET, POST, etc. will save 
# cookies to the CookieDir (which in this case is an 
# in-memory cache.

html = http.quickGetStr("https://www.paypal.com/")

# To fetch the XML cookie(s) for a domain, call GetCookieXml:

xmlStr = http.getCookieXml("paypal.com")

print xmlStr + "\n";

# It's content will look something like this:

# <cookies>
#     <cookie key=".paypal.com,/" v="0" secure="yes">
#         <navcmd>_home-general</navcmd>
#         <HttpOnly />
#         <cwrClyrK4LoCV1fydGbAxiNL6iG>9cz...</cwrClyrK4LoCV1fydGbAxiNL6iG>
#     </cookie>
# </cookies>

# If another HTTP request is sent, the cookies should
# be added:
html = http.quickGetStr("https://www.paypal.com/")

# Check the LastHeader property to see the MIME header
# of the last HTTP request sent.
# The "Cookie" header field should be present.
print "--- LastHeader ---" + "\n";
print http.lastHeader() + "\n";