DataFlex
DataFlex
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 DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoDns
Variant vJson
Handle hoJson
String sName
Integer iTtl
Integer iFlags
String sTag
String sValue
Integer i
Integer iCount_i
String sTemp1
Move False To iSuccess
Get Create (RefClass(cComChilkatDns)) To hoDns
If (Not(IsComObjectCreated(hoDns))) Begin
Send CreateComObject of hoDns
End
Get Create (RefClass(cComChilkatJsonObject)) To hoJson
If (Not(IsComObjectCreated(hoJson))) Begin
Send CreateComObject of hoJson
End
Set ComEmitCompact Of hoJson To False
Get pvComObject of hoJson to vJson
Get ComQuery Of hoDns "CAA" "zoom.us" vJson To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoDns To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComEmit Of hoJson To sTemp1
Showln sTemp1
// 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
Move 0 To i
Get ComSizeOfArray Of hoJson "answer.caa" To iCount_i
While (i < iCount_i)
Set ComI Of hoJson To i
Get ComStringOf Of hoJson "answer.caa[i].name" To sName
Get ComIntOf Of hoJson "answer.caa[i].ttl" To iTtl
Get ComIntOf Of hoJson "answer.caa[i].flags" To iFlags
Get ComStringOf Of hoJson "answer.caa[i].tag" To sTag
Get ComStringOf Of hoJson "answer.caa[i].value" To sValue
Move (i + 1) To i
Loop
End_Procedure