diff --git a/resolver-dns/src/main/java/io/netty/resolver/dns/DnsNameResolver.java b/resolver-dns/src/main/java/io/netty/resolver/dns/DnsNameResolver.java index 8f4776a606..6c512911d0 100644 --- a/resolver-dns/src/main/java/io/netty/resolver/dns/DnsNameResolver.java +++ b/resolver-dns/src/main/java/io/netty/resolver/dns/DnsNameResolver.java @@ -642,7 +642,7 @@ public class DnsNameResolver extends SimpleNameResolver { @Override protected void doResolve(InetSocketAddress unresolvedAddress, Promise promise) throws Exception { - final String hostname = IDN.toASCII(unresolvedAddress.getHostString()); + final String hostname = IDN.toASCII(hostname(unresolvedAddress)); final int port = unresolvedAddress.getPort(); final DnsNameResolverContext ctx = new DnsNameResolverContext(this, hostname, port, promise); @@ -650,6 +650,15 @@ public class DnsNameResolver extends SimpleNameResolver { ctx.resolve(); } + private static String hostname(InetSocketAddress addr) { + // InetSocketAddress.getHostString() is available since Java 7. + if (PlatformDependent.javaVersion() < 7) { + return addr.getHostName(); + } else { + return addr.getHostString(); + } + } + /** * Sends a DNS query with the specified question. */