| Title: | RDAP Server Querying | 
| Version: | 1.0.7 | 
| Date: | 2024-03-14 | 
| Author: | Brad Cable | 
| Maintainer: | Brad Cable <brad@bcable.net> | 
| Description: | Queries data from RDAP servers. | 
| Imports: | curl, rjson, stringr, utils | 
| License: | MIT + file LICENSE | 
| NeedsCompilation: | no | 
| Packaged: | 2024-03-15 02:09:56 UTC; kosh | 
| Repository: | CRAN | 
| Date/Publication: | 2024-03-15 03:10:03 UTC | 
RDAP server querying
Description
Queries RDAP servers
Usage
rdap_query(entities, rdap_uri="https://rdap-bootstrap.arin.net/bootstrap/",
  query_entity=FALSE, debug=FALSE)
rdap_keyextract(query_ret, key)
rdap_keynames(query_ret)
rdap_extract_df(query_ret, sub_name)
rdap_keyval_extract(query_ret, keys, blacklist_values=NULL, unlist.recursive=TRUE)
Arguments
| entities | Entity (or entities as vector) to query RDAP for. Can IP addresses, domains, or a mix of the two. | 
| rdap_uri | RDAP URI to use as the search base. This should not need to be anything other than the default bootstrap URI unless you really want to do something specific. | 
| query_entity | Manually override what type of entity is being queried. Not recommended. | 
| query_ret | Data structure that was returned from rdap_query() | 
| sub_name | Name of sub-table to return as a flat list | 
| key | Single string, case-sensitive, of what key to look to return back values from the RDAP return | 
| keys | Single string or vector of strings, case-insensitive, of what keys to look for in-order to return back values of from the RDAP return | 
| debug | Boolean if you want debug prints (good for large quantities of manual data) | 
| blacklist_values | Character or vector of values (or starting values) to skip when searching | 
| unlist.recursive | Boolean if you want the unlist at the end to pass recursively | 
Value
rdap_query() returns a large JSON data.frame() rdap_extract_df() returns a data.frame rdap_keyextract() returns a vector rdap_keynames() returns a vector rdap_keyval_extract() returns a vector
Author(s)
Brad Cable
Examples
# Grab RDAP data for a domain
rdap_query("bcable.net")
# Grab RDAP data for an IP
rdap_query("1.1.1.1")
# Grab RDAP data for a domain from a specific RDAP provider
rdap_query("bcable.net", rdap_uri="https://rdap.verisign.com/net/v1/")
# Grab multiple mixed vectorized results
hosts_ips <- c("1.0.0.1", "bcable.net")
rdap_data <- rdap_query(hosts_ips)
rdap_data
# Extract Country Info About Domains
countries <- rdap_keyextract(rdap_data, "country")
# Get list of available attribute names for each entry
rdap_keynames(rdap_data)
# Get more traditional WHOIS style registration data
entity_data <- rdap_extract_df(rdap_data, "entities")
# Grab default role reported
rdap_keyval_extract(entity_data, "roles")