Sample code for 30+ languages & platforms
PowerBuilder

Adding Cookies to an HTTP Request

See more HTTP Examples

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

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Http
oleobject loo_Req
string ls_Domain
integer li_Port
integer li_Ssl
oleobject loo_Resp
string ls_Html

li_Success = 0

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

loo_Http = create oleobject
li_rc = loo_Http.ConnectToNewObject("Chilkat.Http")
if li_rc < 0 then
    destroy loo_Http
    MessageBox("Error","Connecting to COM object failed")
    return
end if

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

// Build an HTTP POST request:
loo_Req = create oleobject
li_rc = loo_Req.ConnectToNewObject("Chilkat.HttpRequest")

loo_Req.SetFromUrl("http://www.chilkatsoft.com/echoPost.asp")
loo_Req.HttpVerb = "POST"

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

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

ls_Domain = "www.chilkatsoft.com"
li_Port = 80
li_Ssl = 0
loo_Resp = create oleobject
li_rc = loo_Resp.ConnectToNewObject("Chilkat.HttpResponse")

li_Success = loo_Http.HttpSReq(ls_Domain,li_Port,li_Ssl,loo_Req,loo_Resp)
if li_Success = 0 then
    Write-Debug loo_Http.LastErrorText
    destroy loo_Http
    destroy loo_Req
    destroy loo_Resp
    return
end if

// Display the HTML body of the response.
if loo_Resp.StatusCode = 200 then
    // Show the last HTTP request header sent, which should include
    // our cookies...
    Write-Debug loo_Http.LastHeader
else
    Write-Debug "HTTP Response Status = " + string(loo_Resp.StatusCode)
end if

Write-Debug "---------------------"

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

ls_Html = loo_Http.QuickGetStr("http://www.w3.org/")
if loo_Http.LastMethodSuccess <> 1 then
    Write-Debug loo_Http.LastErrorText
else
    // Show the last HTTP request header sent, which should include
    // our cookies...
    Write-Debug loo_Http.LastHeader
end if



destroy loo_Http
destroy loo_Req
destroy loo_Resp