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
(Visual Basic 6.0) RDAP Domain Lookup using rdap.orgDemonstrates doing an RDAP domain lookup using the rdap.org public RDAP server.
' This example requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. Dim http As New ChilkatHttp ' 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" Dim sbResponse As New ChilkatStringBuilder Dim success As Long success = http.QuickGetSb("https://rdap.org/domain/oracle.com",sbResponse) If (success = 0) Then Debug.Print http.LastErrorText Exit Sub End If Dim statusCode As Long statusCode = http.LastStatus If (statusCode <> 200) Then Debug.Print "Error response:" Debug.Print sbResponse.GetAsString() Debug.Print "status code: " & statusCode Exit Sub End If ' Load the JSON response and examine.. ' Use this online tool to generate parsing code from sample JSON: ' Generate Parsing Code from JSON Dim json As New ChilkatJsonObject success = json.LoadSb(sbResponse) json.EmitCompact = 0 Debug.Print json.Emit() ' 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" ' } ' ] ' } ' ] ' } Dim value As String Dim rel As String Dim href As String Dim v_type As String Dim strVal As String Dim j As Long Dim count_j As Long Dim identifier As String Dim k As Long Dim count_k As Long Dim json1 As ChilkatJsonObject Dim i1 As Long Dim count_i1 As Long Dim j1 As Long Dim count_j1 As Long Dim eventAction As String Dim eventDate As String Dim title As String Dim objectClassName As String objectClassName = json.StringOf("objectClassName") Dim handle As String handle = json.StringOf("handle") Dim ldhName As String ldhName = json.StringOf("ldhName") Dim DelegationSigned As Long DelegationSigned = json.BoolOf("secureDNS.delegationSigned") Dim i As Long i = 0 Dim count_i As Long count_i = json.SizeOfArray("links") Do 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 Loop i = 0 count_i = json.SizeOfArray("status") Do While i < count_i json.I = i strVal = json.StringOf("status[i]") i = i + 1 Loop i = 0 count_i = json.SizeOfArray("entities") Do 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") Do While j < count_j json.J = j strVal = json.StringOf("entities[i].roles[j]") j = j + 1 Loop j = 0 count_j = json.SizeOfArray("entities[i].publicIds") Do 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 Loop j = 0 count_j = json.SizeOfArray("entities[i].vcardArray") Do While j < count_j json.J = j strVal = json.StringOf("entities[i].vcardArray[j]") k = 0 count_k = json.SizeOfArray("entities[i].vcardArray[j]") Do While k < count_k json.K = k Set json1 = json.ObjectOf("entities[i].vcardArray[j][k]") i1 = 0 count_i1 = json1.SizeOfArray("") Do While i1 < count_i1 json1.I = i1 strVal = json1.StringOf("[i]") i1 = i1 + 1 Loop k = k + 1 Loop j = j + 1 Loop j = 0 count_j = json.SizeOfArray("entities[i].entities") Do 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") Do While k < count_k json.K = k strVal = json.StringOf("entities[i].entities[j].roles[k]") k = k + 1 Loop k = 0 count_k = json.SizeOfArray("entities[i].entities[j].vcardArray") Do While k < count_k json.K = k strVal = json.StringOf("entities[i].entities[j].vcardArray[k]") Set json1 = json.ObjectOf("entities[i].entities[j].vcardArray[k]") i1 = 0 count_i1 = json1.SizeOfArray("") Do While i1 < count_i1 json1.I = i1 j1 = 0 count_j1 = json1.SizeOfArray("[i]") Do While j1 < count_j1 json1.J = j1 strVal = json1.StringOf("[i][j]") j1 = j1 + 1 Loop i1 = i1 + 1 Loop k = k + 1 Loop j = j + 1 Loop i = i + 1 Loop i = 0 count_i = json.SizeOfArray("events") Do While i < count_i json.I = i eventAction = json.StringOf("events[i].eventAction") eventDate = json.StringOf("events[i].eventDate") i = i + 1 Loop i = 0 count_i = json.SizeOfArray("nameservers") Do While i < count_i json.I = i objectClassName = json.StringOf("nameservers[i].objectClassName") ldhName = json.StringOf("nameservers[i].ldhName") i = i + 1 Loop i = 0 count_i = json.SizeOfArray("rdapConformance") Do While i < count_i json.I = i strVal = json.StringOf("rdapConformance[i]") i = i + 1 Loop i = 0 count_i = json.SizeOfArray("notices") Do While i < count_i json.I = i title = json.StringOf("notices[i].title") j = 0 count_j = json.SizeOfArray("notices[i].description") Do While j < count_j json.J = j strVal = json.StringOf("notices[i].description[j]") j = j + 1 Loop j = 0 count_j = json.SizeOfArray("notices[i].links") Do 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 Loop i = i + 1 Loop |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.