![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) Adding Cookies to an HTTP RequestDemonstrates how to add one or more cookies to an HTTP request. Note: This example requires Chilkat v11.0.0 or greater.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Http, HttpRequest, HttpResponse; ... procedure TForm1.Button1Click(Sender: TObject); var success: Boolean; http: HCkHttp; req: HCkHttpRequest; domain: PWideChar; port: Integer; ssl: Boolean; resp: HCkHttpResponse; html: PWideChar; begin success := False; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http := CkHttp_Create(); // The Cookie header field has this format: // Cookie: name1=value1 [; name2=value2] ... // Build an HTTP POST request: req := CkHttpRequest_Create(); CkHttpRequest_SetFromUrl(req,'http://www.chilkatsoft.com/echoPost.asp'); CkHttpRequest_putHttpVerb(req,'POST'); CkHttpRequest_AddParam(req,'param1','value1'); CkHttpRequest_AddParam(req,'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: CkHttpRequest_AddHeader(req,'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 := CkHttpResponse_Create(); success := CkHttp_HttpSReq(http,domain,port,ssl,req,resp); if (success = False) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; // Display the HTML body of the response. if (CkHttpResponse_getStatusCode(resp) = 200) then begin // Show the last HTTP request header sent, which should include // our cookies... Memo1.Lines.Add(CkHttp__lastHeader(http)); end else begin Memo1.Lines.Add('HTTP Response Status = ' + IntToStr(CkHttpResponse_getStatusCode(resp))); end; Memo1.Lines.Add('---------------------'); // 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. CkHttp_SetRequestHeader(http,'Cookie','user="mary"; city="Chicago"'); html := CkHttp__quickGetStr(http,'http://www.w3.org/'); if (CkHttp_getLastMethodSuccess(http) <> True) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); end else begin // Show the last HTTP request header sent, which should include // our cookies... Memo1.Lines.Add(CkHttp__lastHeader(http)); end; CkHttp_Dispose(http); CkHttpRequest_Dispose(req); CkHttpResponse_Dispose(resp); end; |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.