Lua Requires Chilkat v9.5.0.96+
Lua
DNS Query SOA Records
See more DNS Examples
Shows how to perform a DNS query to retrieve SOA records.Chilkat Lua Downloads
local chilkat = require("chilkat")
local dns = chilkat.Dns.new()
local json = chilkat.JsonObject.new()
json.emit_compact = false
local success = dns:query("SOA", "x.com", json)
if not success then
print(dns.last_error_text)
return
end
print(json:emit())
-- Sample response.
-- Parsing code below..
-- {
-- "answer": {
-- "soa": [
-- {
-- "name": "x.com",
-- "ttl": 1800,
-- "mname": "alexia.ns.cloudflare.com",
-- "rname": "dns.cloudflare.com",
-- "serial": -1971124188,
-- "refresh": 10000,
-- "retry": 2400,
-- "expire": 604800,
-- "minttl": 1800
-- }
-- ]
-- }
-- }
-- Use this online tool to generate parsing code from sample JSON:
-- Generate Parsing Code from JSON
local name = ""
local ttl = 0
local mname = ""
local rname = ""
local serial = 0
local refresh = 0
local retry = 0
local expire = 0
local minttl = 0
local i = 0
local count_i = json:size_of_array("answer.soa")
while i < count_i do
json.i = i
name = json:string_of("answer.soa[i].name")
ttl = json:int_of("answer.soa[i].ttl")
mname = json:string_of("answer.soa[i].mname")
rname = json:string_of("answer.soa[i].rname")
serial = json:int_of("answer.soa[i].serial")
refresh = json:int_of("answer.soa[i].refresh")
retry = json:int_of("answer.soa[i].retry")
expire = json:int_of("answer.soa[i].expire")
minttl = json:int_of("answer.soa[i].minttl")
i = i + 1
end