尽我所能,我无法将地址解析为 IP。代码片段如下所示。即使我可以使用浏览器访问 google(DNS 服务器几乎肯定可以正常工作),我仍然收到“没有已知的主机”异常。然而我位于公司的防火墙后面。
try
{
foreach (IPAddress address in Dns.GetHostAddresses("www.google.com"))
{
Console.WriteLine(address.ToString());
}
}
catch (SocketException e)
{
Console.WriteLine("Source : " + e.Source); // System
Console.WriteLine("Message : " + e.Message); // No such host is known
}
最佳答案
你的代码没有任何问题。鉴于您可以从网络浏览器访问 www.google.com,下一个最可能的问题是网络浏览器正在使用代理服务器。 Web 浏览器实际上是通过允许通过防火墙的代理服务器访问 www.google.com。您编写的简单应用程序不允许通过防火墙,因此会导致异常。
您可以通过查看 Internet Explorer 中的代理设置来验证这一点。
工具 -> 选项 -> 连接 -> LAN 设置
将有一组代理服务器设置。如果存在值(value),那么这几乎肯定是您的问题。
关于c# - 解析IP失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/289452/