diff --git a/linkcheck/dns/resolver.py b/linkcheck/dns/resolver.py index 728282c2..b736ca45 100644 --- a/linkcheck/dns/resolver.py +++ b/linkcheck/dns/resolver.py @@ -24,6 +24,7 @@ import sets import sys import os import time +import encodings.idna import linkcheck.dns.exception import linkcheck.dns.message @@ -517,6 +518,10 @@ class Resolver(object): if isinstance(qname, str): qname = linkcheck.dns.name.from_text(qname, None) + elif isinstance(qname, unicode): + # Unicode domain names: http://www.faqs.org/rfcs/rfc3490.html + qname = encodings.idna.ToASCII(qname) + qname = linkcheck.dns.name.from_text(qname, None) if isinstance(rdtype, str): rdtype = linkcheck.dns.rdatatype.from_text(rdtype) if isinstance(rdclass, str):