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) RDAP Domain Lookup using rdap.orgDemonstrates doing an RDAP domain lookup using the rdap.org public RDAP server.
<?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 HTTP requests to https://rdap.org/<type>/<object>, where <type> is the object type (one of domain, ip, autnum, entity etc) // and <object> is the object identifier (eg example.com, 192.168.0.1, 64496, etc). // For example, here's a lookup for "oracle.com" // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.StringBuilder') $sbResponse = new COM("Chilkat.StringBuilder"); $success = $http->QuickGetSb('https://rdap.org/domain/oracle.com',$sbResponse); if ($success == 0) { print $http->LastErrorText . "\n"; exit; } $statusCode = $http->LastStatus; if ($statusCode != 200) { print 'Error response:' . "\n"; print $sbResponse->getAsString() . "\n"; print 'status code: ' . $statusCode . "\n"; exit; } // Load the JSON response and examine.. // Use this online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON // For versions of Chilkat < 10.0.0, use new COM('Chilkat_9_5_0.Chilkat.JsonObject') $json = new COM("Chilkat.JsonObject"); $json->LoadSb($sbResponse); $json->EmitCompact = 0; print $json->emit() . "\n"; // Here's a sample response, and the parsing code generated from the above online tool follows.. // { // "objectClassName": "domain", // "handle": "607513_DOMAIN_COM-VRSN", // "ldhName": "ORACLE.COM", // "links": [ // { // "value": "https:\/\/rdap.verisign.com\/com\/v1\/domain\/ORACLE.COM", // "rel": "self", // "href": "https:\/\/rdap.verisign.com\/com\/v1\/domain\/ORACLE.COM", // "type": "application\/rdap+json" // }, // { // "value": "https:\/\/rdap.markmonitor.com\/rdap\/domain\/ORACLE.COM", // "rel": "related", // "href": "https:\/\/rdap.markmonitor.com\/rdap\/domain\/ORACLE.COM", // "type": "application\/rdap+json" // } // ], // "status": [ // "client delete prohibited", // "client transfer prohibited", // "client update prohibited", // "server delete prohibited", // "server transfer prohibited", // "server update prohibited" // ], // "entities": [ // { // "objectClassName": "entity", // "handle": "292", // "roles": [ // "registrar" // ], // "publicIds": [ // { // "type": "IANA Registrar ID", // "identifier": "292" // } // ], // "vcardArray": [ // "vcard", // [ // [ // "version", // {}, // "text", // "4.0" // ], // [ // "fn", // {}, // "text", // "MarkMonitor Inc." // ] // ] // ], // "entities": [ // { // "objectClassName": "entity", // "roles": [ // "abuse" // ], // "vcardArray": [ // "vcard", // [ // [ // "version", // {}, // "text", // "4.0" // ], // [ // "fn", // {}, // "text", // "" // ], // [ // "tel", // { // "type": "voice" // }, // "uri", // "tel:+1.2086851750" // ], // [ // "email", // {}, // "text", // "abusecomplaints@markmonitor.com" // ] // ] // ] // } // ] // } // ], // "events": [ // { // "eventAction": "registration", // "eventDate": "1988-12-02T05:00:00Z" // }, // { // "eventAction": "expiration", // "eventDate": "2025-12-01T05:00:00Z" // }, // { // "eventAction": "last changed", // "eventDate": "2024-10-30T09:32:52Z" // }, // { // "eventAction": "last update of RDAP database", // "eventDate": "2024-11-26T14:11:14Z" // } // ], // "secureDNS": { // "delegationSigned": false // }, // "nameservers": [ // { // "objectClassName": "nameserver", // "ldhName": "A1-160.AKAM.NET" // }, // { // "objectClassName": "nameserver", // "ldhName": "A11-66.AKAM.NET" // }, // { // "objectClassName": "nameserver", // "ldhName": "A13-65.AKAM.NET" // }, // { // "objectClassName": "nameserver", // "ldhName": "A18-67.AKAM.NET" // }, // { // "objectClassName": "nameserver", // "ldhName": "NS1.P201.DNS.ORACLECLOUD.NET" // }, // { // "objectClassName": "nameserver", // "ldhName": "NS2.P201.DNS.ORACLECLOUD.NET" // }, // { // "objectClassName": "nameserver", // "ldhName": "NS3.P201.DNS.ORACLECLOUD.NET" // }, // { // "objectClassName": "nameserver", // "ldhName": "NS4.P201.DNS.ORACLECLOUD.NET" // } // ], // "rdapConformance": [ // "rdap_level_0", // "icann_rdap_technical_implementation_guide_0", // "icann_rdap_response_profile_0" // ], // "notices": [ // { // "title": "Terms of Use", // "description": [ // "Service subject to Terms of Use." // ], // "links": [ // { // "href": "https:\/\/www.verisign.com\/domain-names\/registration-data-access-protocol\/terms-service\/index.xhtml", // "type": "text\/html" // } // ] // }, // { // "title": "Status Codes", // "description": [ // "For more information on domain status codes, please visit https:\/\/icann.org\/epp" // ], // "links": [ // { // "href": "https:\/\/icann.org\/epp", // "type": "text\/html" // } // ] // }, // { // "title": "RDDS Inaccuracy Complaint Form", // "description": [ // "URL of the ICANN RDDS Inaccuracy Complaint Form: https:\/\/icann.org\/wicf" // ], // "links": [ // { // "href": "https:\/\/icann.org\/wicf", // "type": "text\/html" // } // ] // } // ] // } $objectClassName = $json->stringOf('objectClassName'); $handle = $json->stringOf('handle'); $ldhName = $json->stringOf('ldhName'); $DelegationSigned = $json->BoolOf('secureDNS.delegationSigned'); $i = 0; $count_i = $json->SizeOfArray('links'); while ($i < $count_i) { $json->I = $i; $value = $json->stringOf('links[i].value'); $rel = $json->stringOf('links[i].rel'); $href = $json->stringOf('links[i].href'); $v_type = $json->stringOf('links[i].type'); $i = $i + 1; } $i = 0; $count_i = $json->SizeOfArray('status'); while ($i < $count_i) { $json->I = $i; $strVal = $json->stringOf('status[i]'); $i = $i + 1; } $i = 0; $count_i = $json->SizeOfArray('entities'); while ($i < $count_i) { $json->I = $i; $objectClassName = $json->stringOf('entities[i].objectClassName'); $handle = $json->stringOf('entities[i].handle'); $j = 0; $count_j = $json->SizeOfArray('entities[i].roles'); while ($j < $count_j) { $json->J = $j; $strVal = $json->stringOf('entities[i].roles[j]'); $j = $j + 1; } $j = 0; $count_j = $json->SizeOfArray('entities[i].publicIds'); while ($j < $count_j) { $json->J = $j; $v_type = $json->stringOf('entities[i].publicIds[j].type'); $identifier = $json->stringOf('entities[i].publicIds[j].identifier'); $j = $j + 1; } $j = 0; $count_j = $json->SizeOfArray('entities[i].vcardArray'); while ($j < $count_j) { $json->J = $j; $strVal = $json->stringOf('entities[i].vcardArray[j]'); $k = 0; $count_k = $json->SizeOfArray('entities[i].vcardArray[j]'); while ($k < $count_k) { $json->K = $k; // json1 is a Chilkat.JsonObject $json1 = $json->ObjectOf('entities[i].vcardArray[j][k]'); $i1 = 0; $count_i1 = $json1->SizeOfArray(''); while ($i1 < $count_i1) { $json1->I = $i1; $strVal = $json1->stringOf('[i]'); $i1 = $i1 + 1; } $k = $k + 1; } $j = $j + 1; } $j = 0; $count_j = $json->SizeOfArray('entities[i].entities'); while ($j < $count_j) { $json->J = $j; $objectClassName = $json->stringOf('entities[i].entities[j].objectClassName'); $k = 0; $count_k = $json->SizeOfArray('entities[i].entities[j].roles'); while ($k < $count_k) { $json->K = $k; $strVal = $json->stringOf('entities[i].entities[j].roles[k]'); $k = $k + 1; } $k = 0; $count_k = $json->SizeOfArray('entities[i].entities[j].vcardArray'); while ($k < $count_k) { $json->K = $k; $strVal = $json->stringOf('entities[i].entities[j].vcardArray[k]'); // json1 is a Chilkat.JsonObject $json1 = $json->ObjectOf('entities[i].entities[j].vcardArray[k]'); $i1 = 0; $count_i1 = $json1->SizeOfArray(''); while ($i1 < $count_i1) { $json1->I = $i1; $j1 = 0; $count_j1 = $json1->SizeOfArray('[i]'); while ($j1 < $count_j1) { $json1->J = $j1; $strVal = $json1->stringOf('[i][j]'); $j1 = $j1 + 1; } $i1 = $i1 + 1; } $k = $k + 1; } $j = $j + 1; } $i = $i + 1; } $i = 0; $count_i = $json->SizeOfArray('events'); while ($i < $count_i) { $json->I = $i; $eventAction = $json->stringOf('events[i].eventAction'); $eventDate = $json->stringOf('events[i].eventDate'); $i = $i + 1; } $i = 0; $count_i = $json->SizeOfArray('nameservers'); while ($i < $count_i) { $json->I = $i; $objectClassName = $json->stringOf('nameservers[i].objectClassName'); $ldhName = $json->stringOf('nameservers[i].ldhName'); $i = $i + 1; } $i = 0; $count_i = $json->SizeOfArray('rdapConformance'); while ($i < $count_i) { $json->I = $i; $strVal = $json->stringOf('rdapConformance[i]'); $i = $i + 1; } $i = 0; $count_i = $json->SizeOfArray('notices'); while ($i < $count_i) { $json->I = $i; $title = $json->stringOf('notices[i].title'); $j = 0; $count_j = $json->SizeOfArray('notices[i].description'); while ($j < $count_j) { $json->J = $j; $strVal = $json->stringOf('notices[i].description[j]'); $j = $j + 1; } $j = 0; $count_j = $json->SizeOfArray('notices[i].links'); while ($j < $count_j) { $json->J = $j; $href = $json->stringOf('notices[i].links[j].href'); $v_type = $json->stringOf('notices[i].links[j].type'); $j = $j + 1; } $i = $i + 1; } ?> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.