dnsjava在lookup.run()上返回网络错误

时间:2019-03-19 02:22:11

标签: android kotlin dnsjava

我在Android应用程序中使用dnsjava来在应用程序首次启动时检索txt文件。

val lookup = Lookup(domain, Type.TXT)

lookup.setResolver(SimpleResolver())

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

我无法进行检索和调试,我发现在执行.run()之后,lookup对象上的结果是Lookup.Try_Again,返回的网络错误为我钻入时返回的字符串。跑()。不知道为什么当正在运行的设备具有完美的Internet连接时会发生这种情况。再深入一点,我发现解析器使用的名称服务器只是本地主机。我从中检索的网址是面向公众的。我该如何解决我的错误,应该如何更改域名服务器才能使其正常工作?

1 个答案:

答案 0 :(得分:0)

我假设您正在使用Oreo? Android进行了更改,不再通过getprop公开dns,这是dnsjava所使用的。替代方法可以在这里找到:How do you get the current DNS servers for Android?