java - 如果我有 IP,则跳过 Java 的 DNS 查询

标签 java dns

如果我有域列表及其 IP 地址,如何跳过 DNS 请求? scans.io 提供了域及其 IP 的列表,我想使用该列表而不是向 DNS 服务器发送查询。 如果不设置我自己的 DNS 服务器,是否可能?

编辑: 原因是我有一个包含一百万个域及其 IP 的大文件,我想尽快抓取它们而不被 DNS 服务器禁止。

最佳答案

有几种可能性。

如果您不需要将数据文件中的 DNS 查找限制为特定的 Java 进程,您可以将该列表添加到系统的“主机”文件中。在哪里可以找到该文件是特定于操作系统的,您必须考虑到如果系统上运行的所有进程使用操作系统 API 调用从主机名解析 IP,它们将从主机文件中获取匹配的 IP。

另一种选择是,如果您的 Java VM 支持,则将主机名解析器配置为使用常规 DNS 查找之外的其他数据源。 Oracle 的 Java VM 提供了这种可能性,您可以在 JNDI DNS service provider settings 部分找到配置文档。网络属性文档。也许有点过时了,但是this article还为您提供了一个关于如何使用 sun.net.spi.nameservice 中的 API 实现您自己的 NameService 的完整示例。

关于java - 如果我有 IP,则跳过 Java 的 DNS 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36721009/

相关文章:

java - 什么版本的 Maven 与 Java 6 兼容?

java - Spring/JPA 持久性是否可能有 "connection preparation"

apache - 设置子域: ex -- "www.example.com" to store images at "images.example.com"

java - CPU 使用率高的 Docker Java 8 容器

java - 在 Eclipse 中自动生成 Javadoc 注释?

java - 使用 Maven 进行目标特定的 Java 更新

google-chrome - DNS http -> https 浏览器缓存

azure - 如何使用流量管理器后面的多个应用服务与自定义域设置 SSL?

macos - 何时使用辅助 DNS 服务器?

dns - Docker 容器未在 boot2docker 中使用主机 DNS