Sample code for 30+ languages & platforms
Lua Requires Chilkat v9.5.0.96+

DNS Query SOA Records

See more DNS Examples

Shows how to perform a DNS query to retrieve SOA records.

Chilkat Lua Downloads

Lua
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