Запросы служебных книжек DNS для нахождения имени хоста и TCP/IP

Мы не достаточно телепаты, чтобы придумать решение, не увидев вывод вашего запроса и формат файла результатов.

1117 Однако у меня сложилось впечатление, что вы идете в неверном направлении. Учитывая, что вы говорите о {[ символах, кажется, что вы используете поле Result Variable Name

enter image description here

, которое возвращает [114 ] ArrayList , который следует обрабатывать по-разному

enter image description here


Однако, если вы переключитесь в поле Variable Names

[ 1122] enter image description here

JMeter будет генерировать отдельную переменную для каждой строки набора результатов, и с ней будет намного проще работать и в конечном итоге объединять

[ 117] enter image description here

Дополнительная информация:

6
задан Michael-O 21 April 2016 в 09:36
поделиться

4 ответа

Провайдер JNDI DNS может искать записи SRV. Вам нужно сделать что-то вроде:

Hashtable env = new Hashtable();
env.put("java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory");
env.put("java.naming.provider.url", "dns:");
DirContext ctx = new InitialDirContext(env);
Attributes attrs = ctx.getAttributes("_lsid._tcp.ubio.org", new String[] { "SRV" });

Возвращаемые атрибуты - это перечисление строк, которые выглядят как «1 0 80 ANIMALIA.ubio.org». Поля, разделенные пробелами, расположены по порядку:

  1. приоритет
  2. вес
  3. порт
  4. сервер
18
ответ дан 8 December 2019 в 03:11
поделиться

Вы не можете сделать это, используя стандартные библиотеки Java. Класс InetAddress способен только искать записи DNS A .

Для поиска записей SRV (и, действительно, любого другого типа записи ресурса DNS, кроме запись A ) вам нужна сторонняя библиотека. dnsjava - это обычный вариант.

Я лично использовал версию 1.6 на Google Android, она отлично работает. Версия 2.0 и более поздние используют слой Java nio , поэтому не будут совместимы с более ранними версиями JVM.

9
ответ дан 8 December 2019 в 03:11
поделиться

Я думаю, что вы не можете сделать это без использования внешних библиотек. java.util.InetAddress имеет несколько методов для разрешения имен через DNS, но его можно использовать только для разрешения имен в IP-адресах, а не для общих DNS-запросов.

Для этого вам понадобится некоторая внешняя библиотека, например DNSJava .

2
ответ дан 8 December 2019 в 03:11
поделиться

«... в то время как другие операторы делают».

Во-первых, директивы препроцессора не являются операторами . Оператор - это объект, который существует только на синтаксическом / семантическом уровне. Директивы препроцессора обрабатываются на относительно ранних этапах трансляции, до начала любого синтаксического анализа, поэтому на этом этапе еще нет такого понятия, как «оператор». И по этой причине нет веских оснований требовать завершения директивы #include точкой с запятой. На самом деле, директивы препроцессора по определению занимают всю строку, что означает, что они уже завершены символом новой строки. Любой дополнительный терминатор будет лишним.

Во-вторых, не все «другие операторы» заканчиваются точкой с запятой. Составное заявление,

1
ответ дан 8 December 2019 в 03:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: