Sample code for 30+ languages & platforms
Tcl

Duplicate curl -u user:password with Chilkat HTTP

See more HTTP Misc Examples

Demonstrates how to duplicate a curl command that uses the -u username:password option. (This assumes HTTP Basic Authentication, and Chilkat requires Basic authentication to be over a TLS connection.)

Duplicates the following curl command:

curl https://api.sandbox.paypal.com/v1/oauth2/token \
  -H "Accept: application/json" \
  -H "Accept-Language: en_US" \
  -u "Client-Id:Secret" \
  -d "grant_type=client_credentials"

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

set http [new_CkHttp]

set req [new_CkHttpRequest]

# The AddHeader method corresponds to the curl "-H" argument.
CkHttpRequest_AddHeader $req "Accept" "application/json"
CkHttpRequest_AddHeader $req "Accept-Language" "en_US"

# The curl "-d" argument specifies the HTTP request body.  In this case,
# we're sending an application/x-www-form-urlencoded request, and therefore
# the body contains the URL-encoded query parameters.
CkHttpRequest_AddParam $req "grant_type" "client_credentials"

CkHttp_put_Login $http "PAYPAL_REST_API_CLIENT_ID"
CkHttp_put_Password $http "PAYPAL_REST_API_SECRET"

# Sends a POST request where the Content-Type is application/x-www-form-urlencoded
CkHttpRequest_put_HttpVerb $req "POST"
CkHttpRequest_put_ContentType $req "application/x-www-form-urlencoded"

set resp [new_CkHttpResponse]

set success [CkHttp_HttpReq $http "https://api.sandbox.paypal.com/v1/oauth2/token" $req $resp]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttp $http
    delete_CkHttpRequest $req
    delete_CkHttpResponse $resp
    exit
}

if {[CkHttpResponse_get_StatusCode $resp] != 200} then {
    puts "Error status code: [CkHttpResponse_get_StatusCode $resp]"
    puts [CkHttpResponse_bodyStr $resp]
    delete_CkHttp $http
    delete_CkHttpRequest $req
    delete_CkHttpResponse $resp
    exit
}

# The JSON response is in the resp BodyStr property
puts [CkHttpResponse_bodyStr $resp]
puts "-- Success."

delete_CkHttp $http
delete_CkHttpRequest $req
delete_CkHttpResponse $resp