Android Retrofit/OkHttp 以编程方式使用 `8.8.8.8` 进行 DNS 查找?

Sud*_*aur 2 dns android retrofit okhttp

我正在尝试添加 Google DNS 查找,即“8.8.8.8”。在我的 Android 应用程序中,我将 Retrofit 与 OkHttp 一起使用。

可以通过编程实现吗?

我看到了这篇文章,但无法添加它dns-android-okhttp

Yur*_*mke 5

如果您想尝试通过 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());
Run Code Online (Sandbox Code Playgroud)