Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... 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-2024 Chilkat Software, Inc. All Rights Reserved.