问题标签 [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.

0 投票
1 回答
441 浏览

android - dnsjava 库返回“未找到记录”

我在我的 android 项目“android studio”中使用 dnsjava 我已经导入了库。但是,当我运行代码时,我得到“没有找到记录”,有人会遇到这种情况吗?我在这里找到了一篇讨论类似问题的帖子,但解决方案不起作用。当我将查询类型更改为 ANY 或 A 或 NS 时。它只是行不通。有人知道这是否是由于图书馆代码故障造成的吗?欢迎任何建议。

0 投票
1 回答
1211 浏览

java - 使用 dnsjava 使用 java 查询?

我正在尝试使用谷歌公共 dns 服务器(8.8.8.8)查询以获取某些已知 URL 的 IP 地址。但是,似乎我无法使用以下代码获得它?我正在使用 dnsjava java 库。 这是我当前的代码

结果

结果:

0 投票
3 回答
301 浏览

kubernetes - Kubernetes 中的 DNSJava

Dnsjava 是 Java 中的 DNS 实现。我们围绕它构建了一些应用程序逻辑。只是想检查一下 Kubernetes 是否会在应用程序级别支持 DNS 接口

0 投票
1 回答
650 浏览

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 版本?

我的代码:

0 投票
1 回答
123 浏览

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-slimDebian。我刚刚在 Docker 之外的 Debian 上进行了测试,它也能正常工作。

0 投票
1 回答
61 浏览

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

有任何想法吗?

0 投票
0 回答
32 浏览

java - DNSJava - 答案中的 NAPTRRecord 字节引用

我向我的应用程序(dnsjava)发送一个查询,它发送一个NAPTRRecord作为响应。查询包含一个“名称”字段,答案也有这个。

如何用查询中具有相同字段的区域的“参考”替换答案中的“名称”字段?(我不知道它的正确名称是什么,我将不胜感激。)

在此处输入图像描述

代码示例:

0 投票
1 回答
54 浏览

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 标头部分可以被推断为记录的开头

0 投票
0 回答
42 浏览

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 的最佳实践或基本示例?