Unicode C
Unicode C
HttpPostJson2 Example
See more HTTP Examples
Demonstrates use of the HttpPostJson2 method.Chilkat Unicode C Downloads
#include <C_CkHttpW.h>
#include <C_CkHttpResponseW.h>
#include <C_CkJsonObjectW.h>
void ChilkatSample(void)
{
BOOL success;
HCkHttpW http;
const wchar_t *jsonBody;
HCkHttpResponseW resp;
int statusCode;
HCkJsonObjectW json;
success = FALSE;
// This requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code
// See PostJson2Async Example for the async equivalent of this example.
http = CkHttpW_Create();
// Sends a POST equivalent to the following CURL command:
// curl -X POST https://sandbox.plaid.com/institutions/get \
// -H 'content-type: application/json' \
// -d '{
// "client_id": String,
// "secret":String,
// "count": Number,
// "offset": Number
// }'
// Suppress some default headers that would automatically added..
CkHttpW_putAcceptCharset(http,L"");
CkHttpW_putUserAgent(http,L"");
CkHttpW_putAcceptLanguage(http,L"");
CkHttpW_putAllowGzip(http,FALSE);
jsonBody = L"{\"client_id\": \"PLAID_CLIENT_ID\", \"secret\":\"PLAID_SECRET\", \"count\": 10, \"offset\": 0}";
resp = CkHttpW_PostJson2(http,L"https://sandbox.plaid.com/institutions/get",L"application/json",jsonBody);
if (CkHttpW_getLastMethodSuccess(http) == FALSE) {
wprintf(L"%s\n",CkHttpW_lastErrorText(http));
CkHttpW_Dispose(http);
return;
}
statusCode = CkHttpResponseW_getStatusCode(resp);
wprintf(L"Response status code = %d\n",statusCode);
// Examine the JSON response..
json = CkJsonObjectW_Create();
CkJsonObjectW_Load(json,CkHttpResponseW_bodyStr(resp));
CkJsonObjectW_putEmitCompact(json,FALSE);
wprintf(L"JSON Response Body:\n");
wprintf(L"%s\n",CkJsonObjectW_emit(json));
CkHttpResponseW_Dispose(resp);
CkHttpW_Dispose(http);
CkJsonObjectW_Dispose(json);
}