假设我想先尝试Cloudflare DoH,然后在失败的情况下求助于谷歌的DoH,我该怎么做?
不过,使用单个提供程序非常简单。
val appCache = Cache(File("cacheDir", "okhttpcache"), 10 * 1024 * 1024)
val bootstrapClient = OkHttpClient.Builder().cache(appCache).build()
val dns = DnsOverHttps.Builder().client(bootstrapClient)
.url("https://dns.google/dns-query".toHttpUrl())
.bootstrapDnsHosts(InetAddress.getByName("8.8.4.4"), InetAddress.getByName("8.8.8.8"))
.build()
val client = bootstrapClient.newBuilder().dns(dns).build()发布于 2021-11-12 08:54:20
您需要实现自己的Dns来链接调用。
有关委托给另一个https://github.com/yschimke/okurl/blob/0abaa8510dd5466d5e9a08ebe33a009c491749bf/src/main/kotlin/com/baulsupp/okurl/network/DnsSelector.kt实现的示例,请参阅Dns。您将需要两个委托,并调用一个,然后有条件地调用另一个。
https://stackoverflow.com/questions/69910611
复制相似问题