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 Extension) 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 // The version number (9_5_0) should match version of the Chilkat extension used, omitting the micro-version number. // For example, if using Chilkat v9.5.0.48, then include as shown here: include("chilkat_9_5_0.php"); // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. $http = new CkHttp(); // Send the following CURL request: curl -H 'accept: application/dns-json' 'https://cloudflare-dns.com/dns-query?name=chilkat.io&type=A' $http->put_Accept('application/dns-json'); $url = 'https://cloudflare-dns.com/dns-query?name=chilkat.io&type=A'; $jsonResp = $http->quickGetStr($url); if ($http->get_LastMethodSuccess() != true) { print $http->lastErrorText() . "\n"; exit; } print 'Response Status Code: ' . $http->get_LastStatus() . "\n"; $json = new CkJsonObject(); $json->Load($jsonResp); $json->put_EmitCompact(false); print $json->emit() . "\n"; if ($http->get_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->put_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->put_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.