Java DNS-Suche nach SRV-Einträgen

Im folgenden Java-Code wird ein DNS-SRV-Datensatz gesucht, um den Zieldomänennamen und den zugeordneten Port für einen bestimmten Domänennamen wie beispielsweise [email protected] aufzulösen. Die mit / angegebene SuchfunktionHIER/ below gibt irgendwie null zurück und ich kann kein Abfrageergebnis erhalten (d. h. das Datensatz-Array ist null). Infolgedessen wird eine Nullzeigerausnahme ausgelöst, wenn in der for-Schleife auf das Datensatzarray zugegriffen wird.

Was, glauben Sie, fehlt mir, damit der folgende Code funktioniert? Ich benutze mit Dnsjava und die zugehörige API-JAR-Datei ist verfügbar unterhttp://www.dnsjava.org/download/ (am Ende der Seite). Vielen Dank im Voraus für Ihren Vorschlag.

<code>     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();
          }
       }
      }
</code>

Antworten auf die Frage(1)

Ihre Antwort auf die Frage