Sample code for 30+ languages & platforms
Unicode C

HTTPS Requests over Squid Proxy Direct TLS Connection

See more HTTP Examples

Demonstrates how to send HTTP requests through an HTTP proxy that supports Direct TLS Connections. (Chilkat tests with a squid 4.11 proxy.)

A direct TLS connection to an HTTP proxy is where the initial connection to the proxy server is TLS.

Note: This example requires Chilkat v9.5.0.83 or greater.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkHttpW.h>

void ChilkatSample(void)
    {
    HCkHttpW http;
    const wchar_t *s;

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

    http = CkHttpW_Create();

    // Set the HTTP proxy domain or IP address.
    CkHttpW_putProxyDomain(http,L"172.16.16.46");
    // The proxy port..
    CkHttpW_putProxyPort(http,3128);

    // Indicate that we are to use a direct TLS connection with the HTTP proxy
    // (we use a Squid Cache: Version 4.11 for testing)
    CkHttpW_putProxyDirectTls(http,TRUE);

    // If the proxy requires a login or password, we can set it here.
    // Otherwise comment out these lines.
    CkHttpW_putProxyLogin(http,L"myProxyLogin");
    CkHttpW_putProxyPassword(http,L"myProxyPassword");

    // All requests sent on the http object will now go through the proxy.
    // Give it a test:
    s = CkHttpW_quickGetStr(http,L"https://www.chilkatsoft.com/helloWorld.html");
    if (CkHttpW_getLastMethodSuccess(http) == FALSE) {
        wprintf(L"%s\n",CkHttpW_lastErrorText(http));
        CkHttpW_Dispose(http);
        return;
    }

    // The LastErrorText property also contains information when method call succeeds.
    // Have a look to see that the request was sent through the proxy:
    wprintf(L"%s\n",CkHttpW_lastErrorText(http));

    wprintf(L"---\n");
    wprintf(L"%s\n",s);
    wprintf(L"---\n");
    wprintf(L"Success for TLS destination over direct TLS HTTP proxy.\n");


    CkHttpW_Dispose(http);

    }