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

HTTP POST JSON (application/json)

See more HTTP Examples

Demonstrates how to send a JSON POST using the application/json content-type.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oReq
LOCAL oHttp
LOCAL cJsonText
LOCAL oResp

nSuccess := 0

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

oReq := CreateObject("Chilkat.HttpRequest")
oHttp := CreateObject("Chilkat.Http")

//  If any custom headers need to be included with the POST, add them
//  by calling SetRequestHeader

//  Note: An application should never explicitly set the Content-Length header.
//  The Content-Length is automatically computed and added by Chilkat.

//  Here are some examples of custom headers.  

//  Perhaps your particular app needs some sort of custom-computed Authorization header...
oHttp:SetRequestHeader("Authorization", "my-custom-computed-auth-value")

//  Another custom header for some hypothetical app:
oHttp:SetRequestHeader("X-Pass-Timestamp", "my-custom-computed-timestamp-value")

//  The following "Accept" header may be set, but it really isn't necessary:
oHttp:SetRequestHeader("Accept", "application/json")

cJsonText := "{ some JSON text ... }"

//  To use SSL/TLS, simply use "https://" in the URL.

oResp := CreateObject("Chilkat.HttpResponse")
nSuccess := oHttp:HttpStr("POST", "http://www.someserver.com/someJsonEndpoint", cJsonText, "utf-8", "application/json", oResp)
IF (nSuccess == 0)
    ? oHttp:LastErrorText
    oReq:destroy()
    oHttp:destroy()
    oResp:destroy()
    RETURN
ENDIF

//  Display the JSON response.
? oResp:BodyStr

oReq:destroy()
oHttp:destroy()
oResp:destroy()