Android改型/OkHttp是否以编程方式使用'8.8.8.8'进行DNS查找?

Android改型/OkHttp是否以编程方式使用'8.8.8.8'进行DNS查找?,android,dns,retrofit,okhttp,Android,Dns,Retrofit,Okhttp,我正在尝试添加Google DNS查找,即“8.8.8.8”。在我的android应用程序中,我正在使用OkHttp进行改造 有可能通过编程实现吗 我看到了这篇文章,但无法添加。选择Google 8.8.8.8常规DNS是可能的,但很尴尬,您需要使用Netty或dnsjava之类的库编写自己的DNS实现。这是我刚刚做的一个 e、 g.如果您想尝试通过HTTPS查询Google的DNS(技术上不是8.8.8.8),那么它在OkHttp中作为一个实验模块受到支持 OkHttpClient boots

我正在尝试添加Google DNS查找,即“8.8.8.8”。在我的android应用程序中,我正在使用OkHttp进行改造

有可能通过编程实现吗


我看到了这篇文章,但无法添加。

选择Google 8.8.8.8常规DNS是可能的,但很尴尬,您需要使用Netty或dnsjava之类的库编写自己的DNS实现。这是我刚刚做的一个


e、 g.

如果您想尝试通过HTTPS查询Google的DNS(技术上不是8.8.8.8),那么它在OkHttp中作为一个实验模块受到支持

OkHttpClient bootstrapClient = new OkHttpClient();

Dns google = new DnsOverHttps.Builder().client(bootstrapClient)
    .url(HttpUrl.get("https://dns.google.com/experimental"))
    .build();
OkHttpClient client = new OkHttpClient.Builder().dns(google).build();

Response result =
    client.newCall(new Request.Builder().url("https://google.com/robots.txt").build())
        .execute();

System.out.println(result.body().string());

它现在正在工作,实际上我正在搜索,我正在寻找他用于解析器的库,它是
dnsjava

编译“dnsjava:dnsjava:2.1.7”


现在添加后,我的代码正常工作。

您能详细说明为什么无法让dnsjava正常工作吗?嘿,我找到了解决方案,该库是
dnsjava
,添加后一切都正常工作,感谢您的帮助:)您使用的是哪个库<代码>dnsoverhtps?ThanksI已尝试使用OkHttp 3.14和最新版本,但我仍然无法访问此模块。3.14不是受支持的版本,如果您升级到最新版本,它将可用,因此4.8.1。如何测试DNS工作?我的意思是,如何获得实际的DNS(在本例中为接收8.8.8.8)?再次感谢。您如何调用EasyDns类?@Faxridinabdullayev我使用okhttp作为拦截器,因此我通过
new OkHttpClient.Builder().dns(new EasyDns())
调用它,其中
EasyDns
是实现
dns
的类,请参见链接中的此处