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 SOA RecordsSee more DNS ExamplesShows how to perform a DNS query to retrieve SOA 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,"SOA","x.com",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": { ; "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 name.s ttl.i mname.s rname.s serial.i refresh.i retry.i expire.i minttl.i i.i = 0 count_i.i = CkJsonObject::ckSizeOfArray(json,"answer.soa") While i < count_i CkJsonObject::setCkI(json, i) name = CkJsonObject::ckStringOf(json,"answer.soa[i].name") ttl = CkJsonObject::ckIntOf(json,"answer.soa[i].ttl") mname = CkJsonObject::ckStringOf(json,"answer.soa[i].mname") rname = CkJsonObject::ckStringOf(json,"answer.soa[i].rname") serial = CkJsonObject::ckIntOf(json,"answer.soa[i].serial") refresh = CkJsonObject::ckIntOf(json,"answer.soa[i].refresh") retry = CkJsonObject::ckIntOf(json,"answer.soa[i].retry") expire = CkJsonObject::ckIntOf(json,"answer.soa[i].expire") minttl = CkJsonObject::ckIntOf(json,"answer.soa[i].minttl") i = i + 1 Wend CkDns::ckDispose(dns) CkJsonObject::ckDispose(json) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.