Sample code for 30+ languages & platforms
AutoIt

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 AutoIt Downloads

AutoIt
Local $bSuccess = False

$oDns = ObjCreate("Chilkat.Dns")

$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.EmitCompact = False

$bSuccess = $oDns.Query("SOA","x.com",$oJson)
If ($bSuccess = False) Then
    ConsoleWrite($oDns.LastErrorText & @CRLF)
    Exit
EndIf

ConsoleWrite($oJson.Emit() & @CRLF)

; 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 $sName
Local $iTtl
Local $sMname
Local $sRname
Local $iSerial
Local $iRefresh
Local $iRetry
Local $iExpire
Local $iMinttl

Local $i = 0
Local $iCount_i = $oJson.SizeOfArray("answer.soa")
While $i < $iCount_i
    $oJson.I = $i
    $sName = $oJson.StringOf("answer.soa[i].name")
    $iTtl = $oJson.IntOf("answer.soa[i].ttl")
    $sMname = $oJson.StringOf("answer.soa[i].mname")
    $sRname = $oJson.StringOf("answer.soa[i].rname")
    $iSerial = $oJson.IntOf("answer.soa[i].serial")
    $iRefresh = $oJson.IntOf("answer.soa[i].refresh")
    $iRetry = $oJson.IntOf("answer.soa[i].retry")
    $iExpire = $oJson.IntOf("answer.soa[i].expire")
    $iMinttl = $oJson.IntOf("answer.soa[i].minttl")
    $i = $i + 1
Wend