dnsjava возвращает сетевую ошибку на lookup.run () - PullRequest
1 голос
/ 19 марта 2019

Я использую dnsjava в своем приложении для Android, чтобы получить текстовый файл при первом запуске приложения.

val lookup = Lookup(domain, Type.TXT)

lookup.setResolver(SimpleResolver())

val records = lookup.run()
if (lookup.result == Lookup.SUCCESSFUL)
       //Do things

Я не могу выполнить поиск и выполнить некоторую отладку. Я обнаружил, что после выполнения .run () результатом поиска является объект Lookup.Try_Again, возвращающий сетевую ошибку какстрока вернулась, когда я сверлю в .run ().Не уверен, почему это происходит, когда устройство, на котором выполняется, имеет идеальное подключение к Интернету в противном случае.Посмотрев немного глубже, я обнаружил, что сервер имен, используемый Resolver, является просто localhost.URL-адрес, из которого я извлекаю информацию, является открытым.Как я могу исправить свою ошибку и что я должен изменить на сервере имен, чтобы это работало?

1 Ответ

0 голосов
/ 23 мая 2019

Я предполагаю, что вы используете Oreo?Android внес изменения и больше не выставляет DNS через getprop, который использует dnsjava.Альтернативы можно найти здесь: Как вы получаете текущие DNS-серверы для Android?

...