Sample code for 30+ languages & platforms
PureBasic

Demonstrates the Http.QuickRequestParams Method

See more HTTP Examples

Demonstrates how to use the Http.QuickRequestParams method. This is where query params can be provided non-URL-encoded in JSON format.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkHttpResponse.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkJsonObject.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

    ; Demonstrate sending a GET request with query parameters.
    queryParams.i = CkJsonObject::ckCreate()
    If queryParams.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonObject::ckUpdateInt(queryParams,"limit",100)
    CkJsonObject::ckUpdateString(queryParams,"email","joe@example.com")
    CkJsonObject::ckUpdateString(queryParams,"token","VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuLi4=")

    ; Set a session log filename so we can examine the exact request that is sent.
    sessionLogPath.s = "qa_output/sessionLog.txt"
    CkHttp::setCkSessionLogFilename(http, sessionLogPath)

    ; Send the GET request to an endpoint.  We don't care about the response. The purpose of this example
    ; is to see the exact HTTP request that is sent..
    resp.i = CkHttpResponse::ckCreate()
    If resp.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkHttp::ckHttpParams(http,"GET","https://www.chilkatsoft.com/echoPostBody.asp",queryParams,resp)
    If success = 0
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        CkJsonObject::ckDispose(queryParams)
        CkHttpResponse::ckDispose(resp)
        ProcedureReturn
    EndIf

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

    sessionLog.s = CkFileAccess::ckReadEntireTextFile(fac,sessionLogPath,"utf-8")
    Debug sessionLog
    success = CkFileAccess::ckFileDelete(fac,sessionLogPath)

    ; This is the exact GET request that was sent.
    ; Notice how each query parameter is URL encoded and added to the HTTP start line of the request.

    ; GET /echoPostBody.asp?limit=100&email=joe%40example.com&token=VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cuLi4%3D HTTP/1.1
    ; Host: www.chilkatsoft.com
    ; Accept: */*
    ; Accept-Encoding: gzip


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


    ProcedureReturn
EndProcedure