Sample code for 30+ languages & platforms
C++

curl with Path Variables and Query Param Variables

See more CURL Examples

This example demonstrates using variables located in the path and query params with the {{variable_name}} syntax.

Chilkat C++ Downloads

C++
#include <CkHttpCurl.h>
#include <CkJsonObject.h>

void ChilkatSample(void)
    {
    bool success = false;

    //  Variables can occur in the path and query params.  
    //  Variable names are enclosed between {{ and }}

    //   curl -X GET https://httpbin.org/{{verb}}?id={id_value}}
    const char *targetCurl = "curl -X GET https://httpbin.org/{{verb}}?id={{id_value}}";

    CkHttpCurl httpCurl;

    //  Provide values for variables.
    //  In this example, "verb" is a path variable, and "id_value" is a query param variable.
    httpCurl.SetVar("verb","get");
    httpCurl.SetVar("id_value","123");

    //  Run the curl command.
    success = httpCurl.DoYourThing(targetCurl);
    if (success == false) {
        std::cout << httpCurl.lastErrorText() << "\r\n";
        return;
    }

    CkJsonObject responseJson;
    responseJson.put_EmitCompact(false);

    int statusCode = httpCurl.get_StatusCode();
    std::cout << "response status code: " << statusCode << "\r\n";

    httpCurl.GetResponseJson(responseJson);
    std::cout << responseJson.emit() << "\r\n";

    //  Output:

    //  response status code: 200
    //  {
    //    "args": {
    //      "id": "123"
    //    },
    //    "headers": {
    //      "Host": "httpbin.org",
    //      "X-Amzn-Trace-Id": "Root=1-69e92914-5d4136d240f2f7fe1056f126"
    //    },
    //    "origin": "222.222.222.222",
    //    "url": "https://httpbin.org/get?id=123"
    //  }
    }