Ruby
Ruby
Adding Cookies to an HTTP Request
See more HTTP Examples
Demonstrates how to add one or more cookies to an HTTP request.Chilkat Ruby Downloads
require 'chilkat'
success = false
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
http = Chilkat::CkHttp.new()
# The Cookie header field has this format:
# Cookie: name1=value1 [; name2=value2] ...
# Build an HTTP POST request:
req = Chilkat::CkHttpRequest.new()
req.SetFromUrl("http://www.chilkatsoft.com/echoPost.asp")
req.put_HttpVerb("POST")
req.AddParam("param1","value1")
req.AddParam("param2","value2")
# To add cookies to any HTTP request sent by a Chilkat HTTP method
# that uses an HTTP request object, add the cookies to the
# request object by calling AddHeader.
# Add two cookies:
req.AddHeader("Cookie","user=\"mary\"; city=\"Chicago\"")
# Send the HTTP POST.
# (The cookies are sent as part of the HTTP header.)
domain = "www.chilkatsoft.com"
port = 80
ssl = false
resp = Chilkat::CkHttpResponse.new()
success = http.HttpSReq(domain,port,ssl,req,resp)
if (success == false)
print http.lastErrorText() + "\n";
exit
end
# Display the HTML body of the response.
if (resp.get_StatusCode() == 200)
# Show the last HTTP request header sent, which should include
# our cookies...
print http.lastHeader() + "\n";
else
print "HTTP Response Status = " + resp.get_StatusCode().to_s() + "\n";
end
print "---------------------" + "\n";
# Some Chilkat HTTP methods do not use an HTTP request object.
# For these methods, such as for QuickGetStr, cookies (or any HTTP request header)
# are added by calling SetRequestHeader.
http.SetRequestHeader("Cookie","user=\"mary\"; city=\"Chicago\"")
html = http.quickGetStr("http://www.w3.org/")
if (http.get_LastMethodSuccess() != true)
print http.lastErrorText() + "\n";
else
# Show the last HTTP request header sent, which should include
# our cookies...
print http.lastHeader() + "\n";
end