Sample code for 30+ languages & platforms
AutoIt

DNS Query CAA Records

See more DNS Examples

Shows how to perform a DNS query to retrieve CAA 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("CAA","zoom.us",$oJson)
If ($bSuccess = False) Then
    ConsoleWrite($oDns.LastErrorText & @CRLF)
    Exit
EndIf

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

; Sample response.
; Parsing code below..

; {
;   "answer": {
;     "caa": [
;       {
;         "name": "zoom.us",
;         "ttl": 300,
;         "flags": 0,
;         "tag": "iodef",
;         "value": "mailto:security@zoom.us"
;       },
;       {
;         "name": "zoom.us",
;         "ttl": 300,
;         "flags": 0,
;         "tag": "issue",
;         "value": "amazon.com"
;       },
;       {
;         "name": "zoom.us",
;         "ttl": 300,
;         "flags": 0,
;         "tag": "issue",
;         "value": "digicert.com"
;       },
;       {
;         "name": "zoom.us",
;         "ttl": 300,
;         "flags": 0,
;         "tag": "issue",
;         "value": "godaddy.com"
;       },
;       {
;         "name": "zoom.us",
;         "ttl": 300,
;         "flags": 0,
;         "tag": "issue",
;         "value": "letsencrypt.org"
;       },
;       {
;         "name": "zoom.us",
;         "ttl": 300,
;         "flags": 0,
;         "tag": "issue",
;         "value": "pki.goog"
;       },
;       {
;         "name": "zoom.us",
;         "ttl": 300,
;         "flags": 0,
;         "tag": "issue",
;         "value": "sectigo.com"
;       }
;     ]
;   }
; }

; Use this online tool to generate parsing code from sample JSON: 
; Generate Parsing Code from JSON

Local $sName
Local $iTtl
Local $iFlags
Local $sTag
Local $sValue

Local $i = 0
Local $iCount_i = $oJson.SizeOfArray("answer.caa")
While $i < $iCount_i
    $oJson.I = $i
    $sName = $oJson.StringOf("answer.caa[i].name")
    $iTtl = $oJson.IntOf("answer.caa[i].ttl")
    $iFlags = $oJson.IntOf("answer.caa[i].flags")
    $sTag = $oJson.StringOf("answer.caa[i].tag")
    $sValue = $oJson.StringOf("answer.caa[i].value")
    $i = $i + 1
Wend