Sample code for 30+ languages & platforms
Xojo Plugin

DNS Query SOA Records

See more DNS Examples

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

Note: This example requires Chilkat v9.5.0.96 or later.

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

Dim dns As New Chilkat.Dns

Dim json As New Chilkat.JsonObject
json.EmitCompact = False

success = dns.Query("SOA","x.com",json)
If (success = False) Then
    System.DebugLog(dns.LastErrorText)
    Return
End If

System.DebugLog(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

Dim name As String
Dim ttl As Int32
Dim mname As String
Dim rname As String
Dim serial As Int32
Dim refresh As Int32
Dim retry As Int32
Dim expire As Int32
Dim minttl As Int32

Dim i As Int32
i = 0
Dim count_i As Int32
count_i = json.SizeOfArray("answer.soa")
While i < count_i
    json.I = i
    name = json.StringOf("answer.soa[i].name")
    ttl = json.IntOf("answer.soa[i].ttl")
    mname = json.StringOf("answer.soa[i].mname")
    rname = json.StringOf("answer.soa[i].rname")
    serial = json.IntOf("answer.soa[i].serial")
    refresh = json.IntOf("answer.soa[i].refresh")
    retry = json.IntOf("answer.soa[i].retry")
    expire = json.IntOf("answer.soa[i].expire")
    minttl = json.IntOf("answer.soa[i].minttl")
    i = i + 1
Wend