Sample code for 30+ languages & platforms
Unicode C++

Example: Http.ResumeDownload method

Demonstrates the ResumeDownload method.

Chilkat Unicode C++ Downloads

Unicode C++
#include <CkHttpW.h>
#include <CkFileAccessW.h>

void ChilkatSample(void)
    {
    bool success = false;

    CkHttpW http;
    http.put_KeepResponseBody(true);

    //  To demonstrate resuming a download, we've created a file on the chilkatsoft.com
    //  web server that contains the first 82,379 bytes of the full  279,658 bytes of the hamlet.xml file.

    //  We'll first download the partial file, and pretend it was a previous incomplete attempt to download the entire file.
    const wchar_t *localFilePath = L"c:/temp/qa_output/hamlet.xml";
    success = http.Download(L"https://www.chilkatsoft.com/testData/hamlet_partial.xml",localFilePath);
    if (success == false) {
        wprintf(L"%s\n",http.lastErrorText());
        return;
    }

    //  Download the remainder of hamlet.xml.
    success = http.ResumeDownload(L"https://www.chilkatsoft.com/testData/hamlet.xml",localFilePath);
    int statusCode = http.get_LastStatus();
    if (success == false) {
        if (statusCode == 0) {
            //  Unable to either send the request or get the response.
            wprintf(L"%s\n",http.lastErrorText());
        }
        else {
            //  We got a response, but the status code was not in the 200s
            wprintf(L"Response status code: %d\n",statusCode);
            //  Examine the response body.
            wprintf(L"Response body:\n");
            wprintf(L"%s\n",http.lastResponseBody());
        }

        wprintf(L"Download failed.\n");

    }
    else {
        wprintf(L"Download success, response status = %d\n",statusCode);
    }

    //  The hamlet.xml file should be 279,658 bytes
    CkFileAccessW fac;
    wprintf(L"size of hamlet.xml: %d\n",fac.FileSize(localFilePath));

    wprintf(L"Success.\n");
    }