![]()  | 
  
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
 
      (PureBasic) DNS Query CAA RecordsSee more DNS ExamplesShows how to perform a DNS query to retrieve CAA records.Note: This example requires Chilkat v9.5.0.96 or later. 
 IncludeFile "CkDns.pb" IncludeFile "CkJsonObject.pb" Procedure ChilkatExample() dns.i = CkDns::ckCreate() If dns.i = 0 Debug "Failed to create object." ProcedureReturn EndIf json.i = CkJsonObject::ckCreate() If json.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::setCkEmitCompact(json, 0) success.i = CkDns::ckQuery(dns,"CAA","zoom.us",json) If success = 0 Debug CkDns::ckLastErrorText(dns) CkDns::ckDispose(dns) CkJsonObject::ckDispose(json) ProcedureReturn EndIf Debug CkJsonObject::ckEmit(json) ; 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 name.s ttl.i flags.i tag.s value.s i.i = 0 count_i.i = CkJsonObject::ckSizeOfArray(json,"answer.caa") While i < count_i CkJsonObject::setCkI(json, i) name = CkJsonObject::ckStringOf(json,"answer.caa[i].name") ttl = CkJsonObject::ckIntOf(json,"answer.caa[i].ttl") flags = CkJsonObject::ckIntOf(json,"answer.caa[i].flags") tag = CkJsonObject::ckStringOf(json,"answer.caa[i].tag") value = CkJsonObject::ckStringOf(json,"answer.caa[i].value") i = i + 1 Wend CkDns::ckDispose(dns) CkJsonObject::ckDispose(json) ProcedureReturn EndProcedure  | 
  ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.