Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
HTTP Session with CookiesHow to keep a session with cookies. Demonstrates how to login to WordPress. uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CHILKATHTTPLib_TLB, OleCtrls; ... procedure TForm1.Button1Click(Sender: TObject); var req: TChilkatHttpRequest; http: TChilkatHttp; success: Integer; html: String; domain: String; port: Integer; ssl: Integer; resp: IChilkatHttpResponse; redirectUrl: String; begin req := TChilkatHttpRequest.Create(Self); http := TChilkatHttp.Create(Self); // Any string unlocks the component for the 1st 30-days. success := http.UnlockComponent('Anything for 30-day trial'); if (success <> 1) then begin ShowMessage(http.LastErrorText); end; // This example will demonstrate maintaining a session with // cookies by doing a simple login to a WordPress blog. // Indicate that cookies are to be saved and re-sent. // Instead of using a cookie file, you may use the string "memory" // to save cookies to memory. http.CookieDir := 'memory'; http.SendCookies := 1; http.SaveCookies := 1; // Let's first hit the chilkat.wordpress.com login page to make sure // we have any initial cookies... html := http.QuickGetStr('http://chilkat.wordpress.com/wp-login.php'); if (html = NULL ) then begin Memo1.Lines.Add(http.LastErrorText); end; // Build an HTTP POST request to login req.UsePost(); req.Path := '/wp-login.php'; req.AddParam('log','chilkat'); req.AddParam('pwd','myPassword'); req.AddParam('rememberme','forever'); req.AddParam('wp-submit','Login'); req.AddParam('redirect_to','/wp-admin/'); req.AddHeader('Referer','http://chilkat.wordpress.com/wp-login.php'); // Send the HTTP POST and get the response. Note: This is a blocking call. // The method does not return until the full HTTP response is received. domain := 'chilkat.wordpress.com'; port := 80; ssl := 0; resp := http.SynchronousRequest(domain,port,ssl,req.DefaultInterface); if (resp = nil ) then begin Memo1.Lines.Add(http.LastErrorText); end; // Is this a 302 redirect? if (resp.StatusCode = 302) then begin // Get the redirect URL: redirectUrl := resp.GetHeaderField('Location'); html := http.QuickGetStr(redirectUrl); if (html = NULL ) then begin Memo1.Lines.Add(http.LastErrorText); end else begin Memo1.Lines.Add(html); end; end else begin Memo1.Lines.Add(resp.BodyStr); end; end; |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.