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
long li_Success
oleobject loo_Http
oleobject loo_Req
string ls_Domain
long li_Port
long 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