Sample code for 30+ languages & platforms
Xbase++ Requires Chilkat v11.5.0+

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 Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL cTargetCurl
LOCAL oHttpCurl
LOCAL oResponseJson
LOCAL nStatusCode

nSuccess := 0

//  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}}
cTargetCurl := "curl -X GET https://httpbin.org/{{verb}}?id={{id_value}}"

oHttpCurl := CreateObject("Chilkat.HttpCurl")

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

//  Run the curl command.
nSuccess := oHttpCurl:DoYourThing(cTargetCurl)
IF (nSuccess == 0)
    ? oHttpCurl:LastErrorText
    oHttpCurl:destroy()
    RETURN
ENDIF

oResponseJson := CreateObject("Chilkat.JsonObject")
oResponseJson:EmitCompact := 0

nStatusCode := oHttpCurl:StatusCode
? "response status code: " + Str(nStatusCode)

oHttpCurl:GetResponseJson(oResponseJson)
? oResponseJson:Emit()

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

oHttpCurl:destroy()
oResponseJson:destroy()