C
C
HTTP POST with Binary Data in Request Body
See more HTTP Examples
Do an HTTPS POST with a binary request body.Chilkat C Downloads
#include <C_CkHttp.h>
#include <C_CkFileAccess.h>
#include <C_CkByteData.h>
#include <C_CkHttpResponse.h>
void ChilkatSample(void)
{
BOOL success;
HCkHttp http;
HCkFileAccess fac;
HCkByteData reqBody;
HCkHttpResponse resp;
int responseStatusCode;
success = FALSE;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http = CkHttp_Create();
fac = CkFileAccess_Create();
reqBody = CkByteData_Create();
success = CkFileAccess_ReadEntireFile(fac,"qa_data/pdf/helloWorld.pdf",reqBody);
resp = CkHttpResponse_Create();
success = CkHttp_HttpBinary(http,"POST","https://example.com/something",reqBody,"application/pdf",resp);
if (success == FALSE) {
printf("%s\n",CkHttp_lastErrorText(http));
CkHttp_Dispose(http);
CkFileAccess_Dispose(fac);
CkByteData_Dispose(reqBody);
CkHttpResponse_Dispose(resp);
return;
}
responseStatusCode = CkHttpResponse_getStatusCode(resp);
printf("Status code: %d\n",responseStatusCode);
// For example, if the response is XML, JSON, HTML, etc.
printf("response body:\n");
printf("%s\n",CkHttpResponse_bodyStr(resp));
CkHttp_Dispose(http);
CkFileAccess_Dispose(fac);
CkByteData_Dispose(reqBody);
CkHttpResponse_Dispose(resp);
}