【问题标题】:How to "ping" a domain name?如何“ping”一个域名?
【发布时间】:2011-02-19 00:31:33
【问题描述】:

在代码中我想验证一个域名。

例如:“域名.com”。

我如何在 C# 中做到这一点。

我在MSDN 解决方案上工作。 (第二种解决方案)。

但是“PingCompletedCallback”没有被执行。

感谢

【问题讨论】:

  • 这不会验证域名 - 你最好改为进行 DNS 查询
  • @Rowland 是的,ping 一个域来验证它是完全没用的。
  • 你能澄清一下你到底想做什么。您是要进行名称查找以检查域名是否已注册,还是要测试特定主机是否已启动并响应?您的标签似乎与您的要求相冲突。

标签: c# dns ping


【解决方案1】:
【解决方案2】:

使用 System.Net.NetworkInformation.Ping 类,

using System.Net.NetworkInformation;

Ping sender = new Ping();
PingReply reply = sender.Send ("www.example.com");

if (reply.Status == IPStatus.Success)
{
  Console.WriteLine("Ping successful.");
}

它未经测试,但这是一般的想法。

【讨论】:

  • 我得到:System.dll 中出现“System.Net.NetworkInformation.PingException”类型的未处理异常附加信息:Ping 请求期间出现异常。
【解决方案3】:

我认为 ping 域名不会以可靠的方式告诉您任何相关信息。

  • 可以注册域名,但不能连接到服务器。即使域已注册,Ping 请求也会失败。

  • 服务器可以完全运行,但配置为不响应 ping 请求。即使域已注册并在服务器上运行,Ping 请求也会失败。

您想做什么 - 查明一个域是否已注册、它是否是一个有效的域名、或者它是否是一个正常工作的网站/邮件服务器......?

对于前两个,我建议使用whois 服务。 例如,请参阅这些与 C# 相关的问题:

【讨论】:

    【解决方案4】:

    您可以使用 Ping 类 - 这是您在 MSDN 上需要的所有信息

    【讨论】:

    • 我试过了但是“PingCompletedCallback”没有被执行。
    猜你喜欢
    • 2013-08-27
    • 2021-08-11
    • 1970-01-01
    • 1970-01-01
    • 2012-07-15
    • 2020-12-06
    • 2022-01-26
    • 2019-03-01
    • 1970-01-01
    相关资源
    最近更新 更多