Sample code for 30+ languages & platforms
Lianja

Adding Cookies to an HTTP Request

See more HTTP Examples

Demonstrates how to add one or more cookies to an HTTP request.

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

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

loHttp = createobject("CkHttp")

// The Cookie header field has this format:
// Cookie: name1=value1 [; name2=value2] ...

// Build an HTTP POST request:
loReq = createobject("CkHttpRequest")
loReq.SetFromUrl("http://www.chilkatsoft.com/echoPost.asp")
loReq.HttpVerb = "POST"

loReq.AddParam("param1","value1")
loReq.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:
loReq.AddHeader("Cookie",'user="mary"; city="Chicago"')

// Send the HTTP POST.  
// (The cookies are sent as part of the HTTP header.)

lcDomain = "www.chilkatsoft.com"
lnPort = 80
llSsl = .F.
loResp = createobject("CkHttpResponse")
llSuccess = loHttp.HttpSReq(lcDomain,lnPort,llSsl,loReq,loResp)
if (llSuccess = .F.) then
    ? loHttp.LastErrorText
    release loHttp
    release loReq
    release loResp
    return
endif

// Display the HTML body of the response.
if (loResp.StatusCode = 200) then
    // Show the last HTTP request header sent, which should include
    // our cookies...
    ? loHttp.LastHeader
else
    ? "HTTP Response Status = " + str(loResp.StatusCode)
endif

? "---------------------"

// 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.  
loHttp.SetRequestHeader("Cookie",'user="mary"; city="Chicago"')

lcHtml = loHttp.QuickGetStr("http://www.w3.org/")
if (loHttp.LastMethodSuccess <> .T.) then
    ? loHttp.LastErrorText
else
    // Show the last HTTP request header sent, which should include
    // our cookies...
    ? loHttp.LastHeader
endif



release loHttp
release loReq
release loResp