Sample code for 30+ languages & platforms
C

Examine HTTP Response Status Code and Text

See more REST Examples

Demonstrates how to examine the HTTP response status code and text when using the REST object.

Chilkat C Downloads

C
#include <C_CkRest.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkRest rest;
    BOOL bTls;
    int port;
    BOOL bAutoReconnect;
    const char *responseText;

    success = FALSE;

    //  This example requires the Chilkat API to have been previously unlocked.
    //  See Global Unlock Sample for sample code.

    rest = CkRest_Create();

    //  We're going to check https://authenticationtest.com/HTTPAuth/
    bTls = TRUE;
    port = 443;
    bAutoReconnect = TRUE;
    success = CkRest_Connect(rest,"authenticationtest.com",port,bTls,bAutoReconnect);
    if (success != TRUE) {
        printf("%s\n",CkRest_lastErrorText(rest));
        CkRest_Dispose(rest);
        return;
    }

    //  Send a GET request
    responseText = CkRest_fullRequestNoBody(rest,"GET","/HTTPAuth/");
    if (CkRest_getLastMethodSuccess(rest) != TRUE) {
        printf("%s\n",CkRest_lastErrorText(rest));
        CkRest_Dispose(rest);
        return;
    }

    //  The start line of an HTTP response, called the status line, contains the following information:
    //  
    //      The protocol version, usually HTTP/1.1.
    //      A status code, indicating success or failure of the request. Common status codes are 200, 404, or 302
    //      A status text. A brief, purely informational, textual description of the status code to help a human understand the HTTP message.
    //  
    //  A typical status line looks like: HTTP/1.1 404 Not Found.

    //  The ResponseStatusCode property contains the integer response code:
    printf("Response status code = %d\n",CkRest_getResponseStatusCode(rest));

    //  The ResponseStatusText property contains the text (if any) that follows the status code on the status line.
    printf("Response status text = %s\n",CkRest_responseStatusText(rest));

    //  In this case, the sample output is:
    //  
    //  Response status code = 401
    //  Response status text = Unauthorized


    CkRest_Dispose(rest);

    }