Sample code for 30+ languages & platforms
C++

Get Response Header for Method that does not Return HttpResponse Object

Demonstrates how to get the response header and individual response header fields for a method that does not return an HTTP response object. (If a method returns an HHTTP response object, then the response header information should be obtained from the response object.)

Chilkat C++ Downloads

C++
#include <CkHttp.h>
#include <CkMime.h>

void ChilkatSample(void)
    {
    bool success = false;

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

    CkHttp http;

    const char *strHtml = http.quickGetStr("https://www.duckduckgo.com/");
    if (http.get_LastMethodSuccess() == false) {
        std::cout << http.lastErrorText() << "\r\n";
        return;
    }

    std::cout << http.lastResponseHeader() << "\r\n";

    //  Here's a sample HTTP response header:

    //  Server: nginx
    //  Date: Wed, 30 Sep 2020 13:13:02 GMT
    //  Content-Type: text/html; charset=UTF-8
    //  Transfer-Encoding: chunked
    //  Connection: keep-alive
    //  Vary: Accept-Encoding
    //  ETag: W/"5f7371f4-1683"
    //  Strict-Transport-Security: max-age=31536000
    //  X-Frame-Options: SAMEORIGIN
    //  Content-Security-Policy: default-src https: blob: data: 'unsafe-inline' 'unsafe-eval'; frame-ancestors 'self'
    //  X-XSS-Protection: 1;mode=block
    //  X-Content-Type-Options: nosniff
    //  Referrer-Policy: origin
    //  Expect-CT: max-age=0
    //  Expires: Wed, 30 Sep 2020 13:13:01 GMT
    //  Cache-Control: no-cache
    //  Content-Encoding: gzip

    //  We can load it into a Chilkat MIME object to get header field values:
    CkMime mime;

    success = mime.LoadMime(http.lastResponseHeader());
    if (success == false) {
        std::cout << mime.lastErrorText() << "\r\n";
        return;
    }

    //  Get MIME header field values using Chilkat MIME...
    std::cout << "----" << "\r\n";
    std::cout << "ETag: " << mime.getHeaderField("ETag") << "\r\n";
    }