Visual FoxPro
Visual FoxPro
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 Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loDns
LOCAL loJson
LOCAL lcName
LOCAL lnTtl
LOCAL lcMname
LOCAL lcRname
LOCAL lnSerial
LOCAL lnRefresh
LOCAL lnRetry
LOCAL lnExpire
LOCAL lnMinttl
LOCAL i
LOCAL lnCount_i
lnSuccess = 0
loDns = CreateObject('Chilkat.Dns')
loJson = CreateObject('Chilkat.JsonObject')
loJson.EmitCompact = 0
lnSuccess = loDns.Query("SOA","x.com",loJson)
IF (lnSuccess = 0) THEN
? loDns.LastErrorText
RELEASE loDns
RELEASE loJson
CANCEL
ENDIF
? loJson.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
i = 0
lnCount_i = loJson.SizeOfArray("answer.soa")
DO WHILE i < lnCount_i
loJson.I = i
lcName = loJson.StringOf("answer.soa[i].name")
lnTtl = loJson.IntOf("answer.soa[i].ttl")
lcMname = loJson.StringOf("answer.soa[i].mname")
lcRname = loJson.StringOf("answer.soa[i].rname")
lnSerial = loJson.IntOf("answer.soa[i].serial")
lnRefresh = loJson.IntOf("answer.soa[i].refresh")
lnRetry = loJson.IntOf("answer.soa[i].retry")
lnExpire = loJson.IntOf("answer.soa[i].expire")
lnMinttl = loJson.IntOf("answer.soa[i].minttl")
i = i + 1
ENDDO
RELEASE loDns
RELEASE loJson