0

我想获得domain/的值search,可以/etc/resolv.conf在 Android 上的 MacOS 和 Linux 中找到。

以下是 MacOS 和 Linux (Fedora 25) 上的示例:

苹果系统:

#
# Mac OS X Notice
#
# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.
#
# This file is automatically generated.
#
domain home
nameserver 195.121.1.34
nameserver 195.121.1.66

Linux:

# Generated by NetworkManager
search home
nameserver 195.121.1.34
nameserver 195.121.1.66

如您所见,我在上述情况下寻找的值是home. 知道如何在Android上获得它吗?

我想做什么?

我正在尝试制作一个取决于网络设置的 Android 应用程序,它的行为会有所不同。例如,它尝试查找一个服务foo.home(注意它home是动态的并且依赖于网络),如果它成功了,它将使用那个服务器。否则,它将查询公共服务以找出它应该使用的服务器。

4

1 回答 1

0

搜索路径的重点在于它会自动应用于查询,因此您的应用程序不需要将其显式添加到域中。

我不确定您尝试使用哪种语言,因为您在这里针对不同的平台,但仅作为示例:

// start with the unqualified name
service = "foo";
try {
    InetAddress.getByName(addr);
} catch (UnknownHostException e) {
    // if `foo' did not resolve, use the external service
    // specified by the fully qualified name
    service = "public.whatever.com"
}
于 2017-02-11T21:10:04.917 回答