C
C
HTTP Response Inspection
See more HTTP Examples
Demonstrates how to inspect the HTTP response, including the status code, status text, and response headers, for Chilkat methods that don't use anHttpResponse object.
Chilkat C Downloads
#include <C_CkHttp.h>
#include <C_CkMime.h>
void ChilkatSample(void)
{
HCkHttp http;
const char *jsonText;
HCkMime mime;
int numHeaders;
int i;
http = CkHttp_Create();
// Returns the contents of the response body.
jsonText = CkHttp_quickGetStr(http,"https://chilkatsoft.com/helloWorld.json");
// Examine the response status code.
printf("response status code: %d\n",CkHttp_getLastStatus(http));
// Examine the response status text
printf("response status text: %s\n",CkHttp_lastStatusText(http));
// Examine the full response header.
printf("response header:\n");
printf("%s\n",CkHttp_lastResponseHeader(http));
printf("----\n");
// Examine the response content-type
printf("LastContentType = %s\n",CkHttp_lastContentType(http));
// Examine the response last-mod date
printf("LastModDate = %s\n",CkHttp_lastModDate(http));
// Load the response header into a Chilkat MIME object to access its fields individually.
mime = CkMime_Create();
CkMime_LoadMime(mime,CkHttp_lastResponseHeader(http));
numHeaders = CkMime_getNumHeaderFields(mime);
i = 0;
printf("---- MIME Headers ----\n");
while (i < numHeaders) {
printf("name: %s\n",CkMime_getHeaderFieldName(mime,i));
printf("value: %s\n",CkMime_getHeaderFieldValue(mime,i));
i = i + 1;
}
printf("----\n");
// Get a header field value by name:
printf("ETag: %s\n",CkMime_getHeaderField(mime,"ETag"));
// Output:
// response status code: 200
// response status text: OK
// response header:
// Content-Type: application/json
// Last-Modified: Sun, 20 Aug 2023 11:36:27 GMT
// Accept-Ranges: bytes
// ETag: "34c27f8e5ad3d91:0"
// Server: Microsoft-IIS/10.0
// X-Powered-By: ASP.NET
// Date: Sat, 30 Aug 2025 14:38:13 GMT
// Content-Length: 22
// ----
// LastContentType = application/json
// LastModDate = 2023-08-20
// ---- MIME Headers ----
// name: Content-Type
// value: application/json
// name: Last-Modified
// value: Sun, 20 Aug 2023 11:36:27 GMT
// name: Accept-Ranges
// value: bytes
// name: ETag
// value: "34c27f8e5ad3d91:0"
// name: Server
// value: Microsoft-IIS/10.0
// name: X-Powered-By
// value: ASP.NET
// name: Date
// value: Sat, 30 Aug 2025 14:38:13 GMT
// name: Content-Length
// value: 22
// ----
// ETag: "34c27f8e5ad3d91:0"
CkHttp_Dispose(http);
CkMime_Dispose(mime);
}