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

HTTP POST with Binary Data in Request Body

See more HTTP Examples

Do an HTTPS POST with a binary request body.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkHttpResponse.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkFileAccess.pb"

Procedure ChilkatExample()

    success.i = 0

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

    http.i = CkHttp::ckCreate()
    If http.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    fac.i = CkFileAccess::ckCreate()
    If fac.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

ERROR - PureBasic is an array language
    reqBody = CkFileAccess::ckReadEntireFile(fac,"qa_data/pdf/helloWorld.pdf")

    resp.i = CkHttpResponse::ckCreate()
    If resp.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkHttp::ckHttpBinary(http,"POST","https://example.com/something",reqBody,"application/pdf",resp)
    If success = 0
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        CkFileAccess::ckDispose(fac)
        CkHttpResponse::ckDispose(resp)
        ProcedureReturn
    EndIf

    responseStatusCode.i = CkHttpResponse::ckStatusCode(resp)
    Debug "Status code: " + Str(responseStatusCode)

    ;  For example, if the response is XML, JSON, HTML, etc.
    Debug "response body:"
    Debug CkHttpResponse::ckBodyStr(resp)


    CkHttp::ckDispose(http)
    CkFileAccess::ckDispose(fac)
    CkHttpResponse::ckDispose(resp)


    ProcedureReturn
EndProcedure