我希望获得domain
/ search
的价值,可以在Mac上的/etc/resolv.conf
和Android上的Linux中找到。
以下是MacOS和Linux(Fedora 25)的示例:
的MacOS:
#
# 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
是动态的并且依赖于网络),如果成功,它将使用该服务器。否则,它将查询公共服务以找出它应该使用的服务器。
答案 0 :(得分: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"
}