当我打开 Firefox 并输入“209.191.122.70”作为 URL 并按 Enter 时,它立即解析为“http://failsafe.fp.yahoo.com/404.html”
我的目标是以编程方式检索相同的信息。
当我使用下面的代码时,要么我得到一个 SocketException,要么我得到一个看起来不像我使用 firefox 时得到的 url 的 HostName。
static void Main(string[] args)
{
IPHostEntry entry = Dns.GetHostByAddress("209.191.122.70");
Console.WriteLine(entry.HostName); //ir1.fp.vip.mud.yahoo.com
Console.Read();
}
当System.Net.Sockets.SocketException
我尝试其他一些地址时得到的信息显示“请求的名称有效,但未找到请求类型的数据”,堆栈跟踪如下所示:
at System.Net.Dns.InternalGetHostByAddress(IPAddress address, Boolean includeIPv6, Boolean throwOnFailure)
at System.Net.Dns.GetHostByAddress(String address)
at reverseIP.Program.Main(String[] args) in C:\test\Program.cs:line 15
一些给我例外的地址在 Firefox 中解决得很好。
除了将 Firefox 作为一个单独的进程启动并使用 Windows API 检索地址栏中的文本之外,我如何检索我正在寻找的信息?