PureBasic
PureBasic
HTTP POST JSON (application/json)
See more HTTP Examples
Demonstrates how to send a JSON POST using the application/json content-type.Chilkat PureBasic Downloads
IncludeFile "CkHttpResponse.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpRequest.pb"
Procedure ChilkatExample()
success.i = 0
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
req.i = CkHttpRequest::ckCreate()
If req.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; 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...
CkHttp::ckSetRequestHeader(http,"Authorization","my-custom-computed-auth-value")
; Another custom header for some hypothetical app:
CkHttp::ckSetRequestHeader(http,"X-Pass-Timestamp","my-custom-computed-timestamp-value")
; The following "Accept" header may be set, but it really isn't necessary:
CkHttp::ckSetRequestHeader(http,"Accept","application/json")
jsonText.s = "{ some JSON text ... }"
; To use SSL/TLS, simply use "https://" in the URL.
resp.i = CkHttpResponse::ckCreate()
If resp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkHttp::ckHttpStr(http,"POST","http://www.someserver.com/someJsonEndpoint",jsonText,"utf-8","application/json",resp)
If success = 0
Debug CkHttp::ckLastErrorText(http)
CkHttpRequest::ckDispose(req)
CkHttp::ckDispose(http)
CkHttpResponse::ckDispose(resp)
ProcedureReturn
EndIf
; Display the JSON response.
Debug CkHttpResponse::ckBodyStr(resp)
CkHttpRequest::ckDispose(req)
CkHttp::ckDispose(http)
CkHttpResponse::ckDispose(resp)
ProcedureReturn
EndProcedure