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
(Delphi DLL) 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.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Dns, JsonObject; ... procedure TForm1.Button1Click(Sender: TObject); var dns: HCkDns; json: HCkJsonObject; success: Boolean; name: PWideChar; ttl: Integer; mname: PWideChar; rname: PWideChar; serial: Integer; refresh: Integer; retry: Integer; expire: Integer; minttl: Integer; i: Integer; count_i: Integer; begin dns := CkDns_Create(); json := CkJsonObject_Create(); CkJsonObject_putEmitCompact(json,False); success := CkDns_Query(dns,'SOA','x.com',json); if (success = False) then begin Memo1.Lines.Add(CkDns__lastErrorText(dns)); Exit; end; Memo1.Lines.Add(CkJsonObject__emit(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 i := 0; count_i := CkJsonObject_SizeOfArray(json,'answer.soa'); while i < count_i do begin CkJsonObject_putI(json,i); name := CkJsonObject__stringOf(json,'answer.soa[i].name'); ttl := CkJsonObject_IntOf(json,'answer.soa[i].ttl'); mname := CkJsonObject__stringOf(json,'answer.soa[i].mname'); rname := CkJsonObject__stringOf(json,'answer.soa[i].rname'); serial := CkJsonObject_IntOf(json,'answer.soa[i].serial'); refresh := CkJsonObject_IntOf(json,'answer.soa[i].refresh'); retry := CkJsonObject_IntOf(json,'answer.soa[i].retry'); expire := CkJsonObject_IntOf(json,'answer.soa[i].expire'); minttl := CkJsonObject_IntOf(json,'answer.soa[i].minttl'); i := i + 1; end; CkDns_Dispose(dns); CkJsonObject_Dispose(json); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.