3
<title>dnsjava examples</title>
8
<h1 align="center">dnsjava examples</h1>
10
All of these examples are code fragments. Code using these fragments should
11
check exceptions when appropriate, and should:
13
<pre><code>import org.xbill.DNS.*;</code></pre>
15
<p><b>Get the IP address associated with a name:</b></p>
17
InetAddress addr = Address.getByName("www.dnsjava.org");
22
<p><b>Get the MX target and preference of a name:</b></p>
24
Record [] records = new Lookup("dnsjava.org", Type.MX).run();
25
for (int i = 0; i < records.length; i++) {
26
MXRecord mx = (MXRecord) records[i];
27
System.out.println("Host " + mx.getTarget() + " has preference ", mx.getPriority());
33
<p><b>Query a remote name server for its version:</b></p>
35
Lookup l = new Lookup("version.bind.", Type.TXT, DClass.CH);
36
l.setResolver(new SimpleResolver(args[0]));
38
if (l.getResult() == Lookup.SUCCESSFUL)
39
System.out.println(l.getAnswers()[0].rdataToString());
44
<p><b>Transfer a zone from a server and print it:</b></p>
46
ZoneTransferIn xfr = ZoneTransferIn.newAXFR(new Name("dnsjava.org"), "204.152.186.163", null);
47
List records = xfr.run();
48
for (Iterator it = records.iterator(); it.hasNext(); )
49
System.out.println(it.next());
54
<p><b>Use DNS dynamic update to set the address of a host to a value specified on the command line:</b></p>
56
Name zone = Name.fromString("dyn.test.example.");
57
Name host = Name.fromString("host", zone);
58
Update update = new Update(zone);
59
update.replace(host, Type.A, 3600, args[0]);
61
Resolver res = new SimpleResolver("10.0.0.1");
62
res.setTSIGKey(new TSIG(host, base64.fromString("1234")));
65
Message response = res.send(update);
70
<p><b>Manipulate domain names:</b></p>
72
Name n = Name.fromString("www.dnsjava.org");
73
Name o = Name.fromString("dnsjava.org");
74
System.out.println(n.subdomain(o)); // True
76
System.out.println(n.compareTo(o)); // > 0
78
Name rel = n.relativize(o); // the relative name 'www'
79
Name n2 = Name.concatenate(rel, o);
80
System.out.println(n2.equals(n)); // True
85
for (int i = 0; i < n.labels(); i++)
86
System.out.println(n.getLabelString(i));