PureBasic
PureBasic
HTTPS GET URL with URL Encoded Query Params
See more HTTP Examples
Creates a URL with URL encoded query params, and sends an HTTPS GET to the URL.Chilkat PureBasic Downloads
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkHttp.pb"
Procedure ChilkatExample()
success.i = 0
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
; Create a URL with URL-encoded query params.
sbUrl.i = CkStringBuilder::ckCreate()
If sbUrl.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkStringBuilder::ckAppend(sbUrl,"https://www.example.com/something?")
; If we know a query param value does not have any special chars requiring URL encoding,
; just add it. In this case, there is no need to URL encode "123" because "123" url encoded is still just "123".
CkStringBuilder::ckAppend(sbUrl,"abc=123&xyz=")
sbValue.i = CkStringBuilder::ckCreate()
If sbValue.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkStringBuilder::ckAppend(sbValue,"this is a test")
CkStringBuilder::ckAppend(sbUrl,"msg=")
CkStringBuilder::ckAppend(sbUrl,CkStringBuilder::ckGetEncoded(sbValue,"url","utf-8"))
; sbUrl contains: https://www.example.com/something?abc=123&xyz=msg=this%20is%20a%20test
Debug CkStringBuilder::ckGetAsString(sbUrl)
; Send the GET request and get the response body, which is assumed to be text of some sort (HTML, XML, JSON, etc.)
; (Chilkat automatically decompresses gzipped responses)
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
responseBody.s = CkHttp::ckQuickGetStr(http,CkStringBuilder::ckGetAsString(sbUrl))
If CkHttp::ckLastMethodSuccess(http) = 0
Debug CkHttp::ckLastErrorText(http)
CkStringBuilder::ckDispose(sbUrl)
CkStringBuilder::ckDispose(sbValue)
CkHttp::ckDispose(http)
ProcedureReturn
EndIf
Debug "Response Body:"
Debug responseBody
CkStringBuilder::ckDispose(sbUrl)
CkStringBuilder::ckDispose(sbValue)
CkHttp::ckDispose(http)
ProcedureReturn
EndProcedure