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.
#include <CkHttpRequest.h> #include <CkHttp.h> #include <CkString.h> #include <CkHttpResponse.h> void ChilkatSample(void) { CkHttpRequest req; CkHttp http; bool success; // Any string unlocks the component for the 1st 30-days. success = http.UnlockComponent("Anything for 30-day trial"); if (success != true) { printf("%s\n",http.lastErrorText()); return; } // 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.put_CookieDir("memory"); http.put_SendCookies(true); http.put_SaveCookies(true); // Let's first hit the chilkat.wordpress.com login page to make sure // we have any initial cookies... CkString html; html = http.quickGetStr("http://chilkat.wordpress.com/wp-login.php"); if (html.getNumChars() == 0 ) { printf("%s\n",http.lastErrorText()); return; } // Build an HTTP POST request to login req.UsePost(); req.put_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. CkString domain; int port; bool ssl; domain = "chilkat.wordpress.com"; port = 80; ssl = false; CkHttpResponse *resp = 0; resp = http.SynchronousRequest(domain,port,ssl,req); if (resp == 0 ) { printf("%s\n",http.lastErrorText()); return; } // Is this a 302 redirect? if (resp->get_StatusCode() == 302) { // Get the redirect URL: CkString redirectUrl; redirectUrl = resp->getHeaderField("Location"); html = http.quickGetStr(redirectUrl); if (html.getNumChars() == 0 ) { printf("%s\n",http.lastErrorText()); } else { printf("%s\n",(const char *)html); } } else { printf("%s\n",resp->bodyStr()); } } |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.