在下面的Java代码,我想提出一个DNS SRV记录查找来解析目标域名和相关端口对于给定的域名,如root@1000000000.blubluzone.com。 用查找功能指示/ HERE /下方返回null不知何故,我无法获得AA的查询结果(即记录阵列为空)。 因此,当记录阵列中的被访问环空指针异常被抛出。
你以为我失踪使下面的代码工作。 我使用使用dnsjava和相关API jar文件可在http://www.dnsjava.org/download/ (在页面的底部)。 在此先感谢您的建议。
import org.xbill.DNS.Lookup;
import org.xbill.DNS.Record;
import org.xbill.DNS.SRVRecord;
import org.xbill.DNS.TextParseException;
import org.xbill.DNS.Type;
public class DNSLookup {
public static void main(String[] args) {
if (args.length < 1) {
System.err.println("Usage: java -jar DNSLookup <hostname>");
System.exit(1);
}
String query = "_ssh._tcp." + args[0];
try {
/*****HERE*********/
Record[] records = new Lookup(query, Type.SRV).run();
for (Record record : records) {
SRVRecord srv = (SRVRecord) record;
String hostname = srv.getTarget().toString().replaceFirst("\\.$", "");
int port = srv.getPort();
System.out.println(hostname + ":" + port);
}
} catch (TextParseException e) {
e.printStackTrace();
}
}
}