PureBasic
PureBasic
HTTP GET with utf-8 URL Encoded Query Params
See more HTTP Examples
Demonstrates how to build URLs where query param values can be either URL encoded from the utf-8 representation, or from another charset such as windows-1252.Note: This example uses the new DecodeAndAppend method added in Chilkat v9.5.0.87.
Chilkat PureBasic Downloads
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkHttp.pb"
Procedure ChilkatExample()
success.i = 0
; We have the string "MÆRSK".
; This is the URL encoding of the windows-1252 representation.
nameWindows1252UrlEncoded.s = "M%C6RSK"
sb1.i = CkStringBuilder::ckCreate()
If sb1.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkStringBuilder::ckDecodeAndAppend(sb1,nameWindows1252UrlEncoded,"url","windows-1252")
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Here's how to send an HTTP GET where the param is the utf-8 representation that is URL encoded.
; For example: https://www.chilkatsoft.com/something?name=M%C3%A6RSK
sbUrl.i = CkStringBuilder::ckCreate()
If sbUrl.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkStringBuilder::ckAppend(sbUrl,"https://www.chilkatsoft.com/something?name=")
CkStringBuilder::ckAppend(sbUrl,CkStringBuilder::ckGetEncoded(sb1,"url","utf-8"))
Debug CkStringBuilder::ckGetAsString(sbUrl)
responseBody.s = CkHttp::ckQuickGetStr(http,CkStringBuilder::ckGetAsString(sbUrl))
; Here's how to send an HTTP GET where the param is the windows-1252 representation that is URL encoded.
; For example: https://www.chilkatsoft.com/something?name=M%E6RSK
CkStringBuilder::ckClear(sbUrl)
CkStringBuilder::ckAppend(sbUrl,"https://www.chilkatsoft.com/something?name=")
CkStringBuilder::ckAppend(sbUrl,CkStringBuilder::ckGetEncoded(sb1,"url","windows-1252"))
Debug CkStringBuilder::ckGetAsString(sbUrl)
responseBody = CkHttp::ckQuickGetStr(http,CkStringBuilder::ckGetAsString(sbUrl))
CkStringBuilder::ckDispose(sb1)
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbUrl)
ProcedureReturn
EndProcedure