Sample code for 30+ languages & platforms
Ruby

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";