0

我已经以我能想到的各种方式来解决这个问题,但没有运气。我需要使用 IPv4 地址和 java 中的 InetAddress 类执行反向 DNS 查找。我知道有更好的库可以解决这个问题,但我必须使用 InetAddress 因为它是我正在学习的课程所必需的。问题是每次我提供一个 IP 地址,比如 66.110.98.16,我得到的只是相同的地址输入。这是我执行查找的代码。

symField.setText(
    InetAddress.getByName(
        dquadField.getText()
    )
    .getCanonicalHostName()
);

symField 和 dquadField 只是一个 jTextFields。我唯一能想到的是它没有到​​达 DNS 服务,但我的程序反过来工作得很好。给点思路,谢谢

4

1 回答 1

0

我实际上已经解决了这个问题。就我而言,它与我 PC 上配置的 DNS 服务有关。我将它从我的 ISP 的 DNS 切换到 Google 的公共 DNS。之后它工作得很好。

如果有人偶然发现此问题并需要类似的修复,您只需执行以下操作(仅适用于 Windows):

1) 转到网络和共享中心(在控制面板中找到)。2) 单击屏幕左侧的更改适配器设置。3) 选择您的主适配器,右键单击,然后选择属性。4) 在列表中找到 IPv4 或 v6,具体取决于您要使用的。5) 单击任一配置。6)在DNS字段中,如果选中则取消选中自动获取选项,否则跳过此步骤。7) 将主从DNS改为8.8.8.8和8.8.4.4(顺序无所谓)。注意*** 如果您的 ISP 使用自己的地址填写这些字段,最好将它们写下来以防出现问题。

于 2016-05-26T15:25:32.517 回答