public class DnsClient extends AbstractDnsClient
AbstractDnsClient.IpVersionSetting
cache, dataSource, DEFAULT_CACHE, DEFAULT_IP_VERSION_SETTING, insecureRandom, ipVersionSetting, LOGGER, random
Constructor and Description |
---|
DnsClient()
Create a new DNS client using the global default cache.
|
DnsClient(DnsCache dnsCache) |
Modifier and Type | Method and Description |
---|---|
static boolean |
addBlacklistedDnsServer(String dnsServer) |
static void |
addDnsServerLookupMechanism(DnsServerLookupMechanism dnsServerLookup) |
static List<String> |
findDNS()
Retrieve a list of currently configured DNS servers IP addresses.
|
static List<InetAddress> |
findDnsAddresses()
Retrieve a list of currently configured DNS server addresses.
|
InetAddress |
getRandomHarcodedIpv6DnsServer() |
InetAddress |
getRandomHardcodedIpv4DnsServer() |
boolean |
isAskForDnssec() |
boolean |
isDisableResultFilter() |
boolean |
isUseHardcodedDnsServersEnabled() |
protected DnsMessage.Builder |
newQuestion(DnsMessage.Builder message) |
DnsMessage |
query(DnsMessage.Builder queryBuilder)
Send a query request to the DNS system.
|
protected MiniDnsFuture<DnsMessage,IOException> |
queryAsync(DnsMessage.Builder queryBuilder)
Default implementation of an asynchronous DNS query which just wraps the synchronous case.
|
static boolean |
removeBlacklistedDnsServer(String dnsServer) |
static boolean |
removeDNSServerLookupMechanism(DnsServerLookupMechanism dnsServerLookup) |
void |
setAskForDnssec(boolean askForDnssec) |
void |
setDisableResultFilter(boolean disableResultFilter) |
void |
setUseHardcodedDnsServers(boolean useHardcodedDnsServers) |
getCache, getCachedIPv4AddressesFor, getCachedIPv4NameserverAddressesFor, getCachedIPv6AddressesFor, getCachedIPv6NameserverAddressesFor, getCachedNameserverRecordsFor, getDataSource, getPreferedIpVersion, getQueryFor, isResponseCacheable, query, query, query, query, query, query, query, query, query, query, query, queryAsync, queryAsync, queryAsync, queryAsync, setDataSource, setDefaultIpVersion, setPreferedIpVersion
public DnsClient()
protected DnsMessage.Builder newQuestion(DnsMessage.Builder message)
newQuestion
in class AbstractDnsClient
public DnsMessage query(DnsMessage.Builder queryBuilder) throws IOException
AbstractDnsClient
query
in class AbstractDnsClient
queryBuilder
- The query to send to the server.IOException
- if an IO error occurs.protected MiniDnsFuture<DnsMessage,IOException> queryAsync(DnsMessage.Builder queryBuilder)
AbstractDnsClient
Subclasses override this method to support true asynchronous queries.
queryAsync
in class AbstractDnsClient
queryBuilder
- the query.public static List<String> findDNS()
The addresses are discovered by using one (or more) of the configured DnsServerLookupMechanism
s.
public static List<InetAddress> findDnsAddresses()
Note that unlike findDNS()
, the list returned by this method
will take the IP version setting into account, and order the list by the
preferred address types (IPv4/v6). The returned list is modifiable.
findDNS()
public static void addDnsServerLookupMechanism(DnsServerLookupMechanism dnsServerLookup)
public static boolean removeDNSServerLookupMechanism(DnsServerLookupMechanism dnsServerLookup)
public static boolean addBlacklistedDnsServer(String dnsServer)
public static boolean removeBlacklistedDnsServer(String dnsServer)
public boolean isAskForDnssec()
public void setAskForDnssec(boolean askForDnssec)
public boolean isDisableResultFilter()
public void setDisableResultFilter(boolean disableResultFilter)
public boolean isUseHardcodedDnsServersEnabled()
public void setUseHardcodedDnsServers(boolean useHardcodedDnsServers)
public InetAddress getRandomHardcodedIpv4DnsServer()
public InetAddress getRandomHarcodedIpv6DnsServer()