C
C
Example: Http.HttpReq method
Demonstrates how to call the HttpReq method.Chilkat C Downloads
#include <C_CkHttp.h>
#include <C_CkJsonObject.h>
#include <C_CkHttpRequest.h>
#include <C_CkHttpResponse.h>
void ChilkatSample(void)
{
BOOL success;
HCkHttp http;
HCkJsonObject json;
HCkHttpRequest req;
HCkHttpResponse resp;
success = FALSE;
http = CkHttp_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 = CkJsonObject_Create();
CkJsonObject_UpdateString(json,"name","Harry");
CkJsonObject_UpdateString(json,"state","FL");
// Specify the details of the request
req = CkHttpRequest_Create();
CkHttpRequest_putHttpVerb(req,"POST");
CkHttpRequest_putContentType(req,"application/json");
CkHttpRequest_LoadBodyFromString(req,CkJsonObject_emit(json),"utf-8");
// Send the charset attribute in the HTTP request header.
CkHttpRequest_putSendCharset(req,TRUE);
CkHttpRequest_putCharset(req,"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 = CkHttpResponse_Create();
success = CkHttp_HttpReq(http,"https://www.chilkatsoft.com/echo_request_body.asp",req,resp);
if (success == FALSE) {
printf("%s\n",CkHttp_lastErrorText(http));
CkHttp_Dispose(http);
CkJsonObject_Dispose(json);
CkHttpRequest_Dispose(req);
CkHttpResponse_Dispose(resp);
return;
}
// Examine the HTTP request header we sent:
printf("%s\n",CkHttp_lastHeader(http));
// The response body contains the raw content of the HTTP request body we sent.
printf("%s\n",CkHttpResponse_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"}
CkHttp_Dispose(http);
CkJsonObject_Dispose(json);
CkHttpRequest_Dispose(req);
CkHttpResponse_Dispose(resp);
}