Unicode C
Unicode C
HTTP Download with Progress Event Callbacks
See more HTTP Examples
Downloads a file via HTTP or HTTPS and uses event callbacks to monitor progress.Chilkat Unicode C Downloads
#include <C_CkHttpW.h>
BOOL http_AbortCheck()
{
return FALSE;
}
BOOL http_PercentDone(int percentDone)
{
wprintf(L"Percent Done: %d\n",percentDone);
// Explicitly abort at 25% or greater.
// Remove this to allow for the HTTP download to run to completion.
if (percentDone > 25) {
return TRUE;
}
return FALSE;
}
void http_ProgressInfo(const wchar_t *name, const wchar_t *value)
{
wprintf(L"%s: %s\n",name,value);
}
void ChilkatSample(void)
{
BOOL success;
HCkHttpW http;
BOOL (*fnhttpAbortCheck)() = http_AbortCheck;
BOOL (*fnhttpPercentDone)(int percentDone) = http_PercentDone;
void (*fnhttpProgressInfo)(const wchar_t *name, const wchar_t *value) = http_ProgressInfo;
const wchar_t *localFilePath;
success = FALSE;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http = CkHttpW_Create();
CkHttpW_setAbortCheck(http, fnhttpAbortCheck);
CkHttpW_setPercentDone(http, fnhttpPercentDone);
CkHttpW_setProgressInfo(http, fnhttpProgressInfo);
// Set a heartbeat in milliseconds
CkHttpW_putHeartbeatMs(http,200);
// Download a file...
localFilePath = L"qa_output/Python-3.4.4.tar.xz";
success = CkHttpW_Download(http,L"https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tar.xz",localFilePath);
if (success == FALSE) {
wprintf(L"%s\n",CkHttpW_lastErrorText(http));
CkHttpW_Dispose(http);
return;
}
wprintf(L"OK!\n");
CkHttpW_Dispose(http);
}