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"
    // }
    }