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 <CkHttpW.h>
#include <CkHttpProgressW.h>
class httpProgress : public CkHttpProgressW {
public:
httpProgress() { }
virtual ~httpProgress() { }
void AbortCheck(bool *abort) {
// Application code goes here.
}
void PercentDone(int percentDone, bool *abort) {
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) {
*abort = true;
}
}
void ProgressInfo(const wchar_t *name, const wchar_t *value) {
wprintf(L"%s: %s\n",name,value);
}
};
void ChilkatSample(void)
{
bool success = false;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkHttpW http;
httpProgress http_progress;
http.put_EventCallbackObject(&http_progress);
// Set a heartbeat in milliseconds
http.put_HeartbeatMs(200);
// Download a file...
const wchar_t *localFilePath = L"qa_output/Python-3.4.4.tar.xz";
success = http.Download(L"https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tar.xz",localFilePath);
if (success == false) {
wprintf(L"%s\n",http.lastErrorText());
return;
}
wprintf(L"OK!\n");
}