Sample code for 30+ languages & platforms
Tcl

Socket Convenience Method: BuildHttpGetRequest

See more Socket/SSL/TLS Examples

Demonstrates the BuildHttpGetRequest method.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

# The BuildHttpGetRequest method is a convenience method for building
# an HTTP GET request.  Normally, an application would use Chilkat's HTTP or REST API's
# for sending HTTP requests.  

set socket [new_CkSocket]

set url "http://www.chilkatsoft.com/test.asp?x=123&y=456"
set reqStr [CkSocket_buildHttpGetRequest $socket $url]
puts "$reqStr"
puts "----"

# The result is:

# 	GET /test.asp?x=123&y=456 HTTP/1.1
# 	Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
# 	Connection: keep-alive
# 	User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0
# 	Accept-Language: en-us,en;q=0.5
# 	Host: www.chilkatsoft.com

# The result is meant to look like a request from a browser.

# The same thing can be done using the Url and HttpRequest classes, but with more flexibility.

set req [new_CkHttpRequest]

CkHttpRequest_SetFromUrl $req $url
set reqStr [CkHttpRequest_generateRequestText $req]
puts "$reqStr"
puts "----"

# The result is:

# 	GET /test.asp?x=123&y=456 HTTP/1.1
# 	Host: domain

# Add some headers..
CkHttpRequest_AddHeader $req "Host" "www.chilkatsoft.com"
CkHttpRequest_AddHeader $req "Accept-Language" "en-us,en;q=0.5"
CkHttpRequest_AddHeader $req "Some-Other-Header" "123456"

set reqStr [CkHttpRequest_generateRequestText $req]
puts "$reqStr"

# The result is now:

# 	GET /test.asp?x=123&y=456 HTTP/1.1
# 	Host: www.chilkatsoft.com
# 	Accept-Language: en-us,en;q=0.5
# 	Some-Other-Header: 123456

delete_CkSocket $socket
delete_CkHttpRequest $req