Sample code for 30+ languages & platforms
Lianja

HTTPS PUT application/x-www-form-urlencoded

See more HTTP Examples

Demonstrates two ways of sending an HTTPS PUT application/x-www-form-urlencoded request.

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

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

loHttp = createobject("CkHttp")

// The 1st example sends a PUT with the query params in the URL.
// The body of the request will be empty.
lcUrl = "https://example.com/leads/12345678?uid=XXXX&apikey=YYYYYY&notes=Test_Note"

// Sends the following request:

// PUT /leads/12345678?uid=XXXX&apikey=YYYYYY&notes=Test_Note HTTP/1.1
// Host: example.com
// Accept: */*
// Accept-Encoding: gzip
// Content-Length: 0
// 

loResp = createobject("CkHttpResponse")
llSuccess = loHttp.HttpStr("PUT",lcUrl,"","","application/x-www-form-urlencoded",loResp)
if (llSuccess = .F.) then
    ? loHttp.LastErrorText
    release loHttp
    release loResp
    return
endif

? "Response status code = " + str(loResp.StatusCode)
? "Response body: " + loResp.BodyStr

// -----------------------------------------------------------------------
// Now we send the same request, but instead the query params are in the HTTP request body.

loReq = createobject("CkHttpRequest")
loReq.HttpVerb = "PUT"
loReq.Path = "/leads/12345678"
loReq.AddParam("uid","XXXX")
loReq.AddParam("apikey","YYYYYY")
loReq.AddParam("notes","Test_Note")

// Sends the following request:

// POST /leads/12345678 HTTP/1.1
// Host: example.com
// Content-Type: application/x-www-form-urlencoded
// Content-Length: 38
// 
// uid=XXXX&apikey=YYYYYY&notes=Test_Notereq.HttpVerb = "POST";
loReq.HttpVerb = "POST"
loReq.ContentType = "application/x-www-form-urlencoded"

llSuccess = loHttp.HttpReq("https://example.com/leads/12345678",loReq,loResp)
if (llSuccess = .F.) then
    ? loHttp.LastErrorText
    release loHttp
    release loResp
    release loReq
    return
endif

? "Response status code = " + str(loResp.StatusCode)
? "Response body: " + loResp.BodyStr


release loHttp
release loResp
release loReq