PureBasic
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
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