Unicode C
Unicode C
Example: Http.HttpReq method
Demonstrates how to call the HttpReq method.Chilkat Unicode C Downloads
#include <C_CkHttpW.h>
#include <C_CkJsonObjectW.h>
#include <C_CkHttpRequestW.h>
#include <C_CkHttpResponseW.h>
void ChilkatSample(void)
{
BOOL success;
HCkHttpW http;
HCkJsonObjectW json;
HCkHttpRequestW req;
HCkHttpResponseW resp;
success = FALSE;
http = CkHttpW_Create();
success = FALSE;
// This example will send an HTTP POST with the body of the HTTP request containing JSON.
// Create the following JSON: { "name": "Harry", "state": "FL" }
json = CkJsonObjectW_Create();
CkJsonObjectW_UpdateString(json,L"name",L"Harry");
CkJsonObjectW_UpdateString(json,L"state",L"FL");
// Specify the details of the request
req = CkHttpRequestW_Create();
CkHttpRequestW_putHttpVerb(req,L"POST");
CkHttpRequestW_putContentType(req,L"application/json");
CkHttpRequestW_LoadBodyFromString(req,CkJsonObjectW_emit(json),L"utf-8");
// Send the charset attribute in the HTTP request header.
CkHttpRequestW_putSendCharset(req,TRUE);
CkHttpRequestW_putCharset(req,L"utf-8");
// Send the POST
// You can send the POST to the URL below.
// The response will contain the raw body of the request that was sent.
// (i.e. everything except the HTTP request header).
resp = CkHttpResponseW_Create();
success = CkHttpW_HttpReq(http,L"https://www.chilkatsoft.com/echo_request_body.asp",req,resp);
if (success == FALSE) {
wprintf(L"%s\n",CkHttpW_lastErrorText(http));
CkHttpW_Dispose(http);
CkJsonObjectW_Dispose(json);
CkHttpRequestW_Dispose(req);
CkHttpResponseW_Dispose(resp);
return;
}
// Examine the HTTP request header we sent:
wprintf(L"%s\n",CkHttpW_lastHeader(http));
// The response body contains the raw content of the HTTP request body we sent.
wprintf(L"%s\n",CkHttpResponseW_bodyStr(resp));
// Sample output:
// POST /echo_request_body.asp HTTP/1.1
// Host: www.chilkatsoft.com
// Content-Type: application/json; charset=utf-8
// Content-Length: 29
//
//
// {"name":"Harry","state":"FL"}
CkHttpW_Dispose(http);
CkJsonObjectW_Dispose(json);
CkHttpRequestW_Dispose(req);
CkHttpResponseW_Dispose(resp);
}