Sample code for 30+ languages & platforms
PowerShell

Adding Cookies to an HTTP Request

See more HTTP Examples

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

Chilkat PowerShell Downloads

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

$success = $false

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

$http = New-Object Chilkat.Http

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

# Build an HTTP POST request:
$req = New-Object Chilkat.HttpRequest
$req.SetFromUrl("http://www.chilkatsoft.com/echoPost.asp")
$req.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 = New-Object Chilkat.HttpResponse
$success = $http.HttpSReq($domain,$port,$ssl,$req,$resp)
if ($success -eq $false) {
    $($http.LastErrorText)
    exit
}

# Display the HTML body of the response.
if ($resp.StatusCode -eq 200) {
    # Show the last HTTP request header sent, which should include
    # our cookies...
    $($http.LastHeader)
}
else {
    $("HTTP Response Status = " + $resp.StatusCode)
}

$("---------------------")

# 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.LastMethodSuccess -ne $true) {
    $($http.LastErrorText)
}
else {
    # Show the last HTTP request header sent, which should include
    # our cookies...
    $($http.LastHeader)
}