Sample code for 30+ languages & platforms
Ruby Requires Chilkat v11.0.0+

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

Ruby
require 'chilkat'

success = false

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

http = Chilkat::CkHttp.new()

#  The 1st example sends a PUT with the query params in the URL.
#  The body of the request will be empty.
url = "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
#  

resp = Chilkat::CkHttpResponse.new()
success = http.HttpStr("PUT",url,"","","application/x-www-form-urlencoded",resp)
if (success == false)
    print http.lastErrorText() + "\n";
    exit
end

print "Response status code = " + resp.get_StatusCode().to_s() + "\n";
print "Response body: " + resp.bodyStr() + "\n";

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

req = Chilkat::CkHttpRequest.new()
req.put_HttpVerb("PUT")
req.put_Path("/leads/12345678")
req.AddParam("uid","XXXX")
req.AddParam("apikey","YYYYYY")
req.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";
req.put_HttpVerb("POST")
req.put_ContentType("application/x-www-form-urlencoded")

success = http.HttpReq("https://example.com/leads/12345678",req,resp)
if (success == false)
    print http.lastErrorText() + "\n";
    exit
end

print "Response status code = " + resp.get_StatusCode().to_s() + "\n";
print "Response body: " + resp.bodyStr() + "\n";