问题标签 [dnsjava]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - dnsjava 库返回“未找到记录”
我在我的 android 项目“android studio”中使用 dnsjava 我已经导入了库。但是,当我运行代码时,我得到“没有找到记录”,有人会遇到这种情况吗?我在这里找到了一篇讨论类似问题的帖子,但解决方案不起作用。当我将查询类型更改为 ANY 或 A 或 NS 时。它只是行不通。有人知道这是否是由于图书馆代码故障造成的吗?欢迎任何建议。
kubernetes - Kubernetes 中的 DNSJava
Dnsjava 是 Java 中的 DNS 实现。我们围绕它构建了一些应用程序逻辑。只是想检查一下 Kubernetes 是否会在应用程序级别支持 DNS 接口
android - Android dnsjava NoClassDefFoundError:解析失败:Ljava/time/Duration;
我的应用程序出现 NoClassDefFoundError。我正在使用 dnsjava、okhttp3 和改造。我的最小 API 是 19。
我读到 API 26 中添加了 java.time 包。这是否意味着我不能将 dnsjava 用于低于 26 的 Android API?还是其他原因导致此错误(例如proguard)?可以使用较旧的 dnsjava 版本帮助吗?我找不到任何有关 dnsjava 最小 API 的信息。
编辑:我在 dnsjava Github 页面上找到了这个。
从版本 2.1.x 迁移到 v3
不推荐使用使用 java.util.Date 的方法。将新版本与 java.time.Instant 或 java.time.Duration 一起使用
那么这是否意味着我可以使用 2.1.x 版本?
我的代码:
docker - 在 kubernetes/docker 中使用 dnsjava 解析域的 mx 记录
我正在尝试解析 kubernetes pod 中的 mx 记录。dnsjava 库在容器外的 mac 和 ubuntu 上进行测试时工作,但部署后返回一个空数组。
k8s 或 docker 映像中需要提供什么才能使其正常工作?
见https://github.com/dnsjava/dnsjava
编辑 1
log.warn
总是在 K8s 中执行。docker 镜像是openjdk:11-jdk-slim
Debian。我刚刚在 Docker 之外的 Debian 上进行了测试,它也能正常工作。
java - com.android.builder.dexing.DexArchiveBuilderException: 无法处理 D:....\app\build\intermediates\transforms\desugar\debug\13.jar
我正在使用 Android Studio 中的应用程序。我需要使用 Java 版本 8,所以我可以使用一个库(dnsjava:https ://github.com/dnsjava/dnsjava )。
当我尝试在我的 build.gradle (:app) 文件中使用 java 版本 8 时:
我收到此错误: com.android.builder.dexing.DexArchiveBuilderException: Failed to process D:....\app\build\intermediates\transforms\desugar\debug\13.jar
有任何想法吗?
dns - 如何以正确的顺序读取超过 255 个字符的 TXT 记录
我正在使用DNSJava lib 来获取给定选择器 + 域名的 DKIM TXT 记录。当记录大小大于 255 个字符并跨越结果中的多个字符串时,我想确保以正确的顺序读取记录。根据RFC Doc & RFC DOC,我们应该连接结果中的所有字符串,但它并没有告诉我们 DNS 服务器是否会以正确的顺序返回记录字符串。
Eg : "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCUI5E9hZhMEEgjqF6fHNYYBmAEcF7DN2v/FA6yiY/a3R2L8ebGQjCdP2m3PfqLk8ovVd84eJ", "FkNuXGEsR0rXEHveOjc161z1tz4TGzPC5pGmjuzlYaibUQAb8T1GLbRse+ZkXhCxudeeRj7NBbCjaH1biClbp4v4/V0PLdugeGQQIDAQAB", "juzlYaibUQAb8T1GLbRse+ZkXhCxudeeRj7"
在上面的例子中,我无法确定记录的顺序。只有 DKIM 标头部分可以被推断为记录的开头
java - 在 Android 上使用替代 DNS 库的最佳实践或示例?(例如 miniDNS / DNSJava)
作为标准主机名解析的替代方案(例如,在 Java 中通过InetAddress.getAllByName()),可以使用 DNSJava 或 MiniDNS 等库。
关于 MiniDNS
对于在 Android 上使用,文档指出:
AndroidUsingLinkProperties:使用 Android API 21 或更高版本上可用的 Android 链接属性方法的 DNS 服务器查找机制。使用“ setup(Context) ”来设置这个机制。
AndroidResolverConfigProvider:与所有其他提供程序相反,此提供程序需要一个上下文来操作,必须通过调用“ setContext(Context) ”来设置该上下文。
如果您正在为 Android 开发,请考虑实现您自己的 ResolverConfigProvider 来侦听网络回调并正确刷新链接更改。
无论如何,您都需要做一些事情来调用“ ResolverConfig.refresh() ”,否则几乎可以保证迟早会有过时的服务器。
从文档中我不清楚两者之间的关系。我假设非常简单的方法:
... 在 Android 上可能无法给出正确的结果。我可以在我的设备上看到,尽管设备实际上已连接到 WiFi,但该库尝试联系我的移动连接的 DNS 服务器。
同样在 Android 上,应用程序和活动有不同的上下文。
是否有使用哪个上下文的最佳实践?
是否有关于在 Android 上以正确方式使用 MiniDNS 的基本示例?
关于 DNSJava
自述文件指出“在 Android 上使用 ConnectivityManager(需要使用 org.xbill.DNS.config.AndroidResolverConfigProvider.setContext 进行初始化)。 ”但在示例中没有在 Android 上使用的示例。所以我假设第一个例子:
... 在 Android 上可能无法给出正确的结果。
是否有在 Android 上以正确方式使用 DNSJava 的最佳实践或基本示例?