Sample code for 30+ languages & platforms
Tcl

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 Tcl Downloads

Tcl

load ./chilkat.dll

set success 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.
set sbUrl [new_CkStringBuilder]

CkStringBuilder_Append $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_Append $sbUrl "abc=123&xyz="

set sbValue [new_CkStringBuilder]

CkStringBuilder_Append $sbValue "this is a test"

CkStringBuilder_Append $sbUrl "msg="
CkStringBuilder_Append $sbUrl [CkStringBuilder_getEncoded $sbValue "url" "utf-8"]

# sbUrl contains:  https://www.example.com/something?abc=123&xyz=msg=this%20is%20a%20test
puts [CkStringBuilder_getAsString $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)
set http [new_CkHttp]

set responseBody [CkHttp_quickGetStr $http [CkStringBuilder_getAsString $sbUrl]]
if {[CkHttp_get_LastMethodSuccess $http] == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkStringBuilder $sbUrl
    delete_CkStringBuilder $sbValue
    delete_CkHttp $http
    exit
}

puts "Response Body:"
puts "$responseBody"

delete_CkStringBuilder $sbUrl
delete_CkStringBuilder $sbValue
delete_CkHttp $http