Sample code for 30+ languages & platforms
C++

HTTP HEAD Request

See more HTTP Examples

Sends an HTTP HEAD request and gets the response.

Note: The response to an HTTP HEAD request is always just the response header. The reponse body is always 0 length (thus the reason it's called a "HEAD" request..)

Chilkat C++ Downloads

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

void ChilkatSample(void)
    {
    bool success = false;

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

    CkHttp http;

    // If the URL uses "https://", then the connection will be TLS.
    // Otherwise it will be TCP.

    // A failure is when we don't get any response.  It could be a timeout, an inability to connect, etc.
    // For example, a "404 Not Found" response is still a response, and thus deemed success in terms of the API..

    CkHttpResponse resp;
    success = http.HttpNoBody("HEAD","https://example-code.com/",resp);
    if (success == false) {
        std::cout << http.lastErrorText() << "\r\n";
        return;
    }

    // Examine the response.
    std::cout << "Status Code = " << resp.get_StatusCode() << "\r\n";
    std::cout << "Status Line = " << resp.statusLine() << "\r\n";
    std::cout << "Status Text = " << resp.statusText() << "\r\n";
    std::cout << "Full Response Header:" << "\r\n";
    std::cout << resp.header() << "\r\n";
    std::cout << "----" << "\r\n";
    int numHeaderFields = resp.get_NumHeaderFields();
    std::cout << "Num Header Fields: " << numHeaderFields << "\r\n";
    int i;
    for (i = 0; i <= numHeaderFields - 1; i++) {
        std::cout << resp.getHeaderName(i) << ": " << resp.getHeaderValue(i) << "\r\n";
    }
    }