PowerShell
PowerShell
Cloudfare DNS over HTTPS
See more Cloudfare Examples
Cloudflare offers a DNS over HTTPS resolver at: https://cloudflare-dns.com/dns-queryThis example demonstrates how to do a DNS lookup for a domain using Cloudfare's HTTPS resolver.
Chilkat PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$http = New-Object Chilkat.Http
# 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 -ne $true) {
$($http.LastErrorText)
exit
}
$("Response Status Code: " + $http.LastStatus)
$json = New-Object Chilkat.JsonObject
$json.Load($jsonResp)
$json.EmitCompact = $false
$($json.Emit())
if ($http.LastStatus -ne 200) {
$("Failed.")
exit
}
# 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")
while ($i -lt $count_i) {
$json.I = $i
$name = $json.StringOf("Question[i].name")
$type = $json.IntOf("Question[i].type")
$i = $i + 1
}
$i = 0
$count_i = $json.SizeOfArray("Answer")
# The domain name resolves to 1 or more IP addresses..
while ($i -lt $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")
$("IP Address: " + $ipAddr)
$i = $i + 1
}