C
C
HTTP POST JSON (application/json)
See more HTTP Examples
Demonstrates how to send a JSON POST using the application/json content-type.Chilkat C Downloads
#include <C_CkHttpRequest.h>
#include <C_CkHttp.h>
#include <C_CkHttpResponse.h>
void ChilkatSample(void)
{
BOOL success;
HCkHttpRequest req;
HCkHttp http;
const char *jsonText;
HCkHttpResponse resp;
success = FALSE;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
req = CkHttpRequest_Create();
http = CkHttp_Create();
// If any custom headers need to be included with the POST, add them
// by calling SetRequestHeader
// Note: An application should never explicitly set the Content-Length header.
// The Content-Length is automatically computed and added by Chilkat.
// Here are some examples of custom headers.
// Perhaps your particular app needs some sort of custom-computed Authorization header...
CkHttp_SetRequestHeader(http,"Authorization","my-custom-computed-auth-value");
// Another custom header for some hypothetical app:
CkHttp_SetRequestHeader(http,"X-Pass-Timestamp","my-custom-computed-timestamp-value");
// The following "Accept" header may be set, but it really isn't necessary:
CkHttp_SetRequestHeader(http,"Accept","application/json");
jsonText = "{ some JSON text ... }";
// To use SSL/TLS, simply use "https://" in the URL.
resp = CkHttpResponse_Create();
success = CkHttp_HttpStr(http,"POST","http://www.someserver.com/someJsonEndpoint",jsonText,"utf-8","application/json",resp);
if (success == FALSE) {
printf("%s\n",CkHttp_lastErrorText(http));
CkHttpRequest_Dispose(req);
CkHttp_Dispose(http);
CkHttpResponse_Dispose(resp);
return;
}
// Display the JSON response.
printf("%s\n",CkHttpResponse_bodyStr(resp));
CkHttpRequest_Dispose(req);
CkHttp_Dispose(http);
CkHttpResponse_Dispose(resp);
}