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
(PHP ActiveX) 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.
<?php // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.Http') $http = new COM("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 != 1) { print $http->LastErrorText . "\n"; exit; } print 'Response Status Code: ' . $http->LastStatus . "\n"; // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.JsonObject') $json = new COM("Chilkat.JsonObject"); $json->Load($jsonResp); $json->EmitCompact = 0; print $json->emit() . "\n"; if ($http->LastStatus != 200) { print 'Failed.' . "\n"; 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 < $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 < $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'); print 'IP Address: ' . $ipAddr . "\n"; $i = $i + 1; } ?> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.