Sample code for 30+ languages & platforms
Unicode C

Example: Http.CloseAllConnections method

See more HTTP Examples

Demonstrates how to call the CloseAllConnections method.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkHttpW.h>
#include <C_CkStringBuilderW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkHttpW http;
    const wchar_t *url;
    HCkStringBuilderW sbJson;
    int statusCode;

    success = FALSE;

    http = CkHttpW_Create();

    //  Demonstrate 
    url = L"https://finnhub.io/api/v1/quote?symbol={$symbol}&token={$api_key}";

    //  When the request is sent, the {$symbol} is replaced with "MSFT"
    //  and the {$api_key} is replaced with "1234567890ABCDEF"
    CkHttpW_SetUrlVar(http,L"symbol",L"MSFT");
    CkHttpW_SetUrlVar(http,L"api_key",L"1234567890ABCDEF");

    sbJson = CkStringBuilderW_Create();
    success = CkHttpW_QuickGetSb(http,url,sbJson);
    if (success == FALSE) {
        wprintf(L"%s\n",CkHttpW_lastErrorText(http));
        CkHttpW_Dispose(http);
        CkStringBuilderW_Dispose(sbJson);
        return;
    }

    statusCode = CkHttpW_getLastStatus(http);
    wprintf(L"%s\n",CkHttpW_lastResponseHeader(http));

    //  The response header contains this:

    //  Date: Tue, 19 Aug 2025 12:18:56 GMT
    //  Content-Type: application/json; charset=utf-8
    //  Transfer-Encoding: chunked
    //  Connection: keep-alive
    //  Content-Encoding: gzip

    //  The "Connection: keep-alive" header ensures the server keeps the connection open for subsequent requests.
    //  If the server responds with a "Connection: close" header, it indicates the connection will be closed after the response. 
    //  Consequently, Chilkat will also close the connection, requiring a new one to be established for any subsequent requests to the same server.

    //  If your application uses the same HTTP object instance to send requests to a different server, a new connection will be established with that server.
    //  Existing connections remain open, with Chilkat maintaining up to 10 open connections. 
    //  If all 10 connections are in use, Chilkat will close the least recently used connection to connect to a new server.

    //  Your application can explicitly close all open connections like this:
    success = CkHttpW_CloseAllConnections(http);
    if (success == FALSE) {
        wprintf(L"%s\n",CkHttpW_lastErrorText(http));
        CkHttpW_Dispose(http);
        CkStringBuilderW_Dispose(sbJson);
        return;
    }

    wprintf(L"Success.\n");


    CkHttpW_Dispose(http);
    CkStringBuilderW_Dispose(sbJson);

    }