Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(Excel) Cloudfare DNS over HTTPSCloudflare offers a DNS over HTTPS resolver at: https://cloudflare-dns.com/dns-query This example demonstrates how to do a DNS lookup for a domain using Cloudfare's HTTPS resolver.
' This example requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. Dim http As Chilkat.Http Set http = Chilkat.NewHttp ' Send the following CURL request: curl -H 'accept: application/dns-json' 'https://cloudflare-dns.com/dns-query?name=chilkat.io&type=A' http.Accept = "application/dns-json" url = "https://cloudflare-dns.com/dns-query?name=chilkat.io&type=A" jsonResp = http.QuickGetStr(url) If (http.LastMethodSuccess <> True) Then Debug.Print http.LastErrorText Exit Sub End If Debug.Print "Response Status Code: "; http.LastStatus Dim json As Chilkat.JsonObject Set json = Chilkat.NewJsonObject Dim success As Boolean success = json.Load(jsonResp) json.EmitCompact = False Debug.Print json.Emit() If (http.LastStatus <> 200) Then Debug.Print "Failed." Exit Sub End If ' Sample output... ' (See the parsing code below..) ' ' { ' "Status": 0, ' "TC": false, ' "RD": true, ' "RA": true, ' "AD": false, ' "CD": false, ' "Question": [ ' { ' "name": "chilkat.io.", ' "type": 1 ' } ' ], ' "Answer": [ ' { ' "name": "chilkat.io.", ' "type": 1, ' "TTL": 900, ' "data": "52.25.83.238" ' } ' ] ' } ' Use this online tool to generate parsing code from sample JSON: ' Generate Parsing Code from JSON Status = json.IntOf("Status") TC = json.BoolOf("TC") RD = json.BoolOf("RD") RA = json.BoolOf("RA") AD = json.BoolOf("AD") CD = json.BoolOf("CD") i = 0 count_i = json.SizeOfArray("Question") Do While i < count_i json.I = i name = json.StringOf("Question[i].name") type = json.IntOf("Question[i].type") i = i + 1 Loop i = 0 count_i = json.SizeOfArray("Answer") ' The domain name resolves to 1 or more IP addresses.. Do While i < count_i json.I = i name = json.StringOf("Answer[i].name") type = json.IntOf("Answer[i].type") TTL = json.IntOf("Answer[i].TTL") ipAddr = json.StringOf("Answer[i].data") Debug.Print "IP Address: "; ipAddr i = i + 1 Loop |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.