Sample code for 30+ languages & platforms
PHP

Adding Cookies to an HTTP Request

See more HTTP Examples

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

Chilkat PHP Downloads

Chilkat2 PHP
<?php

use Chilkat2\Http;
use Chilkat2\HttpRequest;
use Chilkat2\HttpResponse;

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

$http = new Http();

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

// Build an HTTP POST request:
$req = new 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 HttpResponse();
try {
    $http->HttpSReq($domain, $port, $ssl, $req, $resp);
} catch (\Chilkat2\Exception $e) {
    echo $e->getMessage(), "\n";
    exit;
}

// Display the HTML body of the response.
if ($resp->StatusCode == 200) {
    // Show the last HTTP request header sent, which should include
    // our cookies...
    echo $http->LastHeader, "\n";
} else {
    echo 'HTTP Response Status = ', $resp->StatusCode, "\n";
}

echo "---------------------\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"');

try {
    $html = $http->QuickGetStr('http://www.w3.org/');
    // Show the last HTTP request header sent, which should include
    // our cookies...
    echo $http->LastHeader, "\n";
} catch (\Chilkat2\Exception $e) {
    echo $e->getMessage(), "\n";
}