summaryrefslogtreecommitdiff
path: root/contrib/ldnsx/examples/ldnsx-axfr.py
blob: 224bb572754f9c83cfceed402e524b6569889a5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/python
# vim:fileencoding=utf-8
#
# AXFR client with IDN (Internationalized Domain Names) support
#

import ldns
import encodings.idna

def utf2name(name):
    return '.'.join([encodings.idna.ToASCII(a) for a in name.split('.')])
def name2utf(name):
    return '.'.join([encodings.idna.ToUnicode(a) for a in name.split('.')])

resolver = ldnsx.resolver("zone.nic.cz")

#Print results
for rr in resolver.AXFR(utf2name(u"háčkyčárky.cz")):
   # rdf = rr.owner()
   # if (rdf.get_type() == ldns.LDNS_RDF_TYPE_DNAME):
   #     print "RDF owner: type=",rr.type(),"data=",name2utf(rr.owner())
   # else:
   #     print "RDF owner: type=",rdf.get_type_str(),"data=",str(rdf)
   # print "   RR type=", rr.get_type_str()," ttl=",rr.ttl()
   # for rdf in rr.rdfs():
   #     if (rdf.get_type() == ldns.LDNS_RDF_TYPE_DNAME):
   #         print "   RDF: type=",rdf.get_type_str(),"data=",name2utf(str(rdf))
   #     else:
   #         print "   RDF: type=",rdf.get_type_str(),"data=",str(rdf)