Lua Requires Chilkat v11.0.0+
Lua
HTTP PUT JSON
See more HTTP Examples
Demonstrates how to send a JSON PUT and get the JSON response body.Chilkat Lua Downloads
local chilkat = require("chilkat")
-- This example assumes the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.
local req = chilkat.HttpRequest.new()
local http = chilkat.Http.new()
-- The PUT request to be sent will look like this:
-- PUT /request HTTP/1.1
-- Content-Type: application/jsonrequest
-- Cookie: JSESSIONID=1234
-- Content-Encoding: identity
-- Host: json.penzance.org
-- Accept: application/jsonrequest
-- Accept-Encoding:
-- Content-Length: 72
--
-- {"user":"doctoravatar@penzance.com","forecast":7,"t":"vlIj","zip":94089}
-- First, remove default header fields that would be automatically
-- sent. (These headers are harmless, and shouldn't need to
-- be suppressed, but just in case...)
ERROR: Property not in Chilkat for Lua: Http.AcceptCharset
http.AcceptCharset = ""
http.user_agent = ""
ERROR: Property not in Chilkat for Lua: Http.AcceptLanguage
http.AcceptLanguage = ""
-- Suppress the Accept-Encoding header by disallowing
-- a gzip response:
http.allow_gzip = false
-- If a Cookie needs to be added...
http:set_request_header("Cookie", "JSESSIONID=1234")
-- Add the Content-Encoding: identity header.
http:set_request_header("Content-Encoding", "identity")
-- Modify the default "Accept" header:
http.accept = "application/jsonrequest"
local jsonText = "{\"user\":\"doctoravatar@penzance.com\",\"forecast\":7,\"t\":\"vlIj\",\"zip\":94089}"
-- IMPORTANT: Make sure to change the URL, JSON text,
-- and other data items to your own values. The URL used
-- in this example will not actually work.
local resp = chilkat.HttpResponse.new()
local success = http:http_str("PUT", "http://json.penzance.org/request", jsonText, "utf-8", "application/jsonrequest", resp)
if not success then
print(http.last_error_text)
return
end
print("Response status code: " .. resp.status_code)
print("Response JSON:")
print(resp.body_str)