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