Visual C++ Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Visual C++ Examples

CkString
Byte Array
Bounced Mail
Character Encoding
Digital Certificates
Digital Signatures
Email
Encryption
FTP
HTML-to-XML
HTTP
IMAP
MHT / HTML Email
RSA Encryption
S/MIME
Socket
Spider
Tar
Upload
XML
XMP
Zip Compression


More Examples...
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor

Unreleased...
Service
PPMD
Deflate
Bzip2
LZW
Bz2
DH Key Exchange
DSA
Icon

 

 

 

 

 

 

 

 

HTTPS Form Login

Using the del.icio.us site, demonstrates how to programmatically login via a form.

Download Chilkat C++ Libraries for VC++ 8.0 / Win32

Download Chilkat C++ Libraries for VC++ 7.0 / Win32

Download Chilkat C++ Libraries for VC++ 6.0 / Win32

#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;
    }

    //  Cookies may be persisted to a directory in the filesystem,
    //  or alternatively cached in memory by using the "memory"
    //  keyword:
    http.put_CookieDir("memory");
    //  Accumulated cookies are sent with each GET/POST:
    http.put_SaveCookies(true);
    //  Cookies received in HTTP responses are to be saved:
    http.put_SendCookies(true);

    //  Get the page with the login form.  We're only doing this
    //  just in case there are cookies that need to be cached
    //  and re-sent in the next step:
    CkString html;
    html = http.quickGetStr("https://secure.del.icio.us/login");
    if (http.get_LastStatus() != 200) {
        printf("%s\n",http.lastErrorText());
        return;
    }

    //  Examining the "Page Info" in FireFox reveals a form with
    //  a target of https://secure.del.icio.us/login with
    //  fields of "user_name", "password", and "login".  The "login"
    //  field is nothing more than the submit button and holds
    //  the value "log in".

    //  Build an HTTP POST Request:
    req.UsePost();
    req.put_Path("/login");
    req.AddParam("user_name","chilkatsoft");
    req.AddParam("password","****");
    req.AddParam("login","log in");

    //  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 = "secure.del.icio.us";
    port = 443;
    ssl = true;
    CkHttpResponse *resp = 0;
    resp = http.SynchronousRequest(domain,port,ssl,req);
    if (resp == 0 ) {
        printf("%s\n",http.lastErrorText());
    }
    else {
        int responseStatus;
        responseStatus = resp->get_StatusCode();
        if (responseStatus == 302) {

            //  We have a redirect.  Follow it...
            //  Note: the FollowRedirects property causes
            //  301/302 responses to GET requests to be
            //  automatically followed.
            http.put_FollowRedirects(true);
            html = http.quickGetStr(resp->getHeaderField("Location"));
            if (http.get_LastStatus() != 200) {
                printf("%s\n",http.lastErrorText());
                return;
            }

        }
        else {
            html = resp->bodyStr();
        }

        printf("%d\n",responseStatus);

        //  Display the HTML source of the page returned.
        printf("%s\n",(const char *)html);

    }

    }

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2008 Chilkat Software, Inc. All Rights Reserved.

Mail Component · .NET Mail Component · XML Parser