Sample code for 30+ languages & platforms
C

QuickGetBd Example

The QuickGetBd method is called to send a GET request to download a binary target, such as PDF, zip, image file, etc. into a Chilkat BinData object.

Chilkat C Downloads

C
#include <C_CkHttp.h>
#include <C_CkBinData.h>
#include <C_CkPdf.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkHttp http;
    HCkBinData bd;
    int statusCode;
    HCkPdf pdf;

    success = FALSE;

    //  This example assumes the Chilkat API to have been previously unlocked.
    //  See Global Unlock Sample for sample code.

    http = CkHttp_Create();
    CkHttp_putKeepResponseBody(http,TRUE);

    bd = CkBinData_Create();

    //  Download the contents of a PDF file into the bd object.
    success = CkHttp_QuickGetBd(http,"https://www.chilkatsoft.com/hello.pdf",bd);
    if (success == FALSE) {
        //  This will happen if the response status code was 400 or greater,
        //  or if the request could not be sent, or if no response was received.
        //  
        //  In other words, success will only be TRUE if bd contains the desired content at the URL (not an error response).
        statusCode = CkHttp_getLastStatus(http);
        printf("Response status: %d\n",statusCode);

        if (statusCode == 0) {
            //  There was an error in communications.  
            printf("%s\n",CkHttp_lastErrorText(http));
        }
        else {
            //  We received a response status code indicating failure.
            //  Examine the response body.
            printf("%s\n",CkHttp_lastResponseBody(http));
        }

        CkHttp_Dispose(http);
        CkBinData_Dispose(bd);
        return;
    }

    //  Load the downloaded PDF into a Chilkat PDF object.
    pdf = CkPdf_Create();
    success = CkPdf_LoadBd(pdf,bd);
    if (success == FALSE) {
        printf("%s\n",CkPdf_lastErrorText(pdf));
        CkHttp_Dispose(http);
        CkBinData_Dispose(bd);
        CkPdf_Dispose(pdf);
        return;
    }

    //  ...

    printf("Success.\n");


    CkHttp_Dispose(http);
    CkBinData_Dispose(bd);
    CkPdf_Dispose(pdf);

    }