我正在尝试为域名编写动态DNS更新程序。我一切正常,如我所愿。基本上,事件链是这样的:
我遇到的问题是,站点上有一个本地dns服务器,它将域名解析为它们各自的本地IP地址而不是公共IP地址,这样当从LAN内部使用时,它将使用本地IP地址。
如何从whois记录中直接查找域的A记录,而避免查询DNS服务器?
答案 0 :(得分:1)
您可以直接查询该域的名称服务器。
例如,使用mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
mFirebaseRemoteConfig.setDefaults(R.xml.remote_config_defaults);
long cacheExpiration = 0;
mFirebaseRemoteConfig.fetch(cacheExpiration)
.addOnCompleteListener(MainActivity.this, new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(MainActivity.this, "Fetch Succeeded",
Toast.LENGTH_SHORT).show();
// After config data is successfully fetched, it must be activated before newly fetched
// values are returned.
mFirebaseRemoteConfig.activateFetched();
} else {
Toast.makeText(MainActivity.this, "Fetch Failed",
Toast.LENGTH_SHORT).show();
}
String welcomeMessage1 = mFirebaseRemoteConfig.getString("message1");
String welcomeMessage2 = mFirebaseRemoteConfig.getString("message2");
}
});
查询Google公共DNS
dig
这将直接针对8.8.8查询记录。
您可以使用该域名的主域名服务器的IP替换IP,以确保收到域名服务器的答复。
您可以通过以下方式获取域的域名服务器:
dig example.com @8.8.8.8 +short