Sample code for 30+ languages & platforms
C#

Adding Cookies to an HTTP Request

See more HTTP Examples

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

Chilkat C# Downloads

C#
bool success = false;

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

Chilkat.Http http = new Chilkat.Http();

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

//  Build an HTTP POST request:
Chilkat.HttpRequest req = new 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.)

string domain = "www.chilkatsoft.com";
int port = 80;
bool ssl = false;
Chilkat.HttpResponse resp = new Chilkat.HttpResponse();
success = http.HttpSReq(domain,port,ssl,req,resp);
if (success == false) {
    Debug.WriteLine(http.LastErrorText);
    return;
}

//  Display the HTML body of the response.
if (resp.StatusCode == 200) {
    //  Show the last HTTP request header sent, which should include
    //  our cookies...
    Debug.WriteLine(http.LastHeader);
}
else {
    Debug.WriteLine("HTTP Response Status = " + Convert.ToString(resp.StatusCode));
}

Debug.WriteLine("---------------------");

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

string html = http.QuickGetStr("http://www.w3.org/");
if (http.LastMethodSuccess != true) {
    Debug.WriteLine(http.LastErrorText);
}
else {
    //  Show the last HTTP request header sent, which should include
    //  our cookies...
    Debug.WriteLine(http.LastHeader);
}