Sample code for 30+ languages & platforms
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 C++ Downloads

C++
#include <CkHttp.h>

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

    CkHttp http;

    // Set the HTTP proxy domain or IP address.
    http.put_ProxyDomain("172.16.16.46");
    // The proxy port..
    http.put_ProxyPort(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)
    http.put_ProxyDirectTls(true);

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

    // All requests sent on the http object will now go through the proxy.
    // Give it a test:
    const char *s = http.quickGetStr("https://www.chilkatsoft.com/helloWorld.html");
    if (http.get_LastMethodSuccess() == false) {
        std::cout << http.lastErrorText() << "\r\n";
        return;
    }

    // The LastErrorText property also contains information when method call succeeds.
    // Have a look to see that the request was sent through the proxy:
    std::cout << http.lastErrorText() << "\r\n";

    std::cout << "---" << "\r\n";
    std::cout << s << "\r\n";
    std::cout << "---" << "\r\n";
    std::cout << "Success for TLS destination over direct TLS HTTP proxy." << "\r\n";
    }