Java 未使用org.xbill.DNS lib获取DNS记录
我已经编写了以下代码来获取任何域的MX记录,请访问google.comJava 未使用org.xbill.DNS lib获取DNS记录,java,dns,dnsjava,Java,Dns,Dnsjava,我已经编写了以下代码来获取任何域的MX记录,请访问google.com public class DNSRec { public static void main(String... args) { try{ Record [] records = new Lookup("http://www.google.com", Type.NS).run(); for (int i = 0; i < records.length; i++) {
public class DNSRec {
public static void main(String... args)
{
try{
Record [] records = new Lookup("http://www.google.com", Type.NS).run();
for (int i = 0; i < records.length; i++) {
NSRecord ns = (NSRecord) records[i];
System.out.println("Nameserver " + ns.getTarget());
}
}catch(Exception e){
System.out.println("Exception: "+e.getMessage());
}
}}
公共类DNSRec{
公共静态void main(字符串…参数)
{
试一试{
记录[]记录=新查找(“http://www.google.com,类型为.NS);
for(int i=0;i
输出:异常:空
我使用了org.xbill.DNSlib
上面的代码出了什么问题?
我应该使用这个库还是有其他更好的方法来获取DNS记录?
小例子;)非常欢迎:)。非常感谢您的回复
我的互联网连接正常。这里有两个问题:
查找
类构造函数中。您正在为域而不是URL执行名称服务器查找。因此,您应该使用google.com
而不是http://www.google.com
public class DNSRec {
public static void main(String... args)
{
try{
Lookup lookup = new Lookup("google.com", Type.NS);
Record[] records = lookup.run();
for (int i = 0; i < records.length; i++) {
NSRecord ns = (NSRecord) records[i];
System.out.println("Nameserver " + ns.getTarget());
}
}catch(Exception e){
System.out.println("Exception: "+e.getMessage());
}
}}
公共类DNSRec{
公共静态void main(字符串…参数)
{
试一试{
Lookup Lookup=新查找(“google.com”,Type.NS);
Record[]records=lookup.run();
for(int i=0;i
这里有两件事不对:
查找
类构造函数中。您正在为域而不是URL执行名称服务器查找。因此,您应该使用google.com
而不是http://www.google.com
public class DNSRec {
public static void main(String... args)
{
try{
Lookup lookup = new Lookup("google.com", Type.NS);
Record[] records = lookup.run();
for (int i = 0; i < records.length; i++) {
NSRecord ns = (NSRecord) records[i];
System.out.println("Nameserver " + ns.getTarget());
}
}catch(Exception e){
System.out.println("Exception: "+e.getMessage());
}
}}
公共类DNSRec{
公共静态void main(字符串…参数)
{
试一试{
Lookup Lookup=新查找(“google.com”,Type.NS);
Record[]records=lookup.run();
for(int i=0;i
谢谢汤姆的回复。我也尝试了NS,但仍然显示相同的输出:(是的,我尝试了两种方法,但输出相同…您尝试过吗?我尝试过-它对我很好。获取以下控制台输出:Nameserver ns1.google.com.Nameserver ns3.google.com.Nameserver ns4.google.com.Nameserver ns2.google.com.great。但对我不起作用:(我用javax.naming.directory尝试过,但是代码我不理解,这就是为什么我用org.xbill.DNS lib。你用过javax.naming.directory吗。谢谢回复:)谢谢你Tom的回复。我也试过NS,但它仍然显示相同的输出(是的,我尝试了两种方法,但输出相同…您尝试过吗?我尝试过-它对我很好。获取以下控制台输出:Nameserver ns1.google.com.Nameserver ns3.google.com.Nameserver ns4.google.com.Nameserver ns2.google.com.great。但对我不起作用:(我已经用javax.naming.directory尝试过了,但是代码我无法理解,这就是为什么我使用org.xbill.DNS lib。您是否使用过javax.naming.directory。谢谢回复:)