public class DnsClient extends AbstractDnsClient
AbstractDnsClient.IpVersionSettingcache, 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(java.lang.String dnsServer) |
static void |
addDnsServerLookupMechanism(DnsServerLookupMechanism dnsServerLookup) |
static java.util.List<java.lang.String> |
findDNS()
Retrieve a list of currently configured DNS servers IP addresses.
|
static java.util.List<java.net.InetAddress> |
findDnsAddresses()
Retrieve a list of currently configured DNS server addresses.
|
java.net.InetAddress |
getRandomHarcodedIpv6DnsServer() |
java.net.InetAddress |
getRandomHardcodedIpv4DnsServer() |
boolean |
isAskForDnssec() |
boolean |
isDisableResultFilter() |
boolean |
isUseHardcodedDnsServersEnabled() |
protected org.minidns.dnsmessage.DnsMessage.Builder |
newQuestion(org.minidns.dnsmessage.DnsMessage.Builder message) |
org.minidns.dnsmessage.DnsMessage |
query(org.minidns.dnsmessage.DnsMessage.Builder queryBuilder)
Send a query request to the DNS system.
|
protected MiniDnsFuture<org.minidns.dnsmessage.DnsMessage,java.io.IOException> |
queryAsync(org.minidns.dnsmessage.DnsMessage.Builder queryBuilder)
Default implementation of an asynchronous DNS query which just wraps the synchronous case.
|
static boolean |
removeBlacklistedDnsServer(java.lang.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, setPreferedIpVersionpublic DnsClient()
public DnsClient(DnsCache dnsCache)
protected org.minidns.dnsmessage.DnsMessage.Builder newQuestion(org.minidns.dnsmessage.DnsMessage.Builder message)
newQuestion in class AbstractDnsClientpublic org.minidns.dnsmessage.DnsMessage query(org.minidns.dnsmessage.DnsMessage.Builder queryBuilder)
throws java.io.IOException
AbstractDnsClientquery in class AbstractDnsClientqueryBuilder - The query to send to the server.java.io.IOException - if an IO error occurs.protected MiniDnsFuture<org.minidns.dnsmessage.DnsMessage,java.io.IOException> queryAsync(org.minidns.dnsmessage.DnsMessage.Builder queryBuilder)
AbstractDnsClientSubclasses override this method to support true asynchronous queries.
queryAsync in class AbstractDnsClientqueryBuilder - the query.public static java.util.List<java.lang.String> findDNS()
The addresses are discovered by using one (or more) of the configured DnsServerLookupMechanisms.
public static java.util.List<java.net.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(java.lang.String dnsServer)
public static boolean removeBlacklistedDnsServer(java.lang.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 java.net.InetAddress getRandomHardcodedIpv4DnsServer()
public java.net.InetAddress getRandomHarcodedIpv6DnsServer()