【问题标题】:How to check if domain exists [duplicate]如何检查域是否存在[重复]
【发布时间】:2021-02-05 02:28:39
【问题描述】:

我们希望通过检查输入电子邮件地址的电子邮件域是否存在来验证我们网站注册表单中的用户电子邮件地址。有没有办法在 C# 中做到这一点。

更具体地说 - 有没有办法在 C# 中按其域检索网站 IP 地址

【问题讨论】:

  • 是的,您所寻找的一切都可以在 C# 以及绝大多数编程框架和 API 中实现。
  • 您为什么不发送一封带有验证链接的验证电子邮件。这是行业标准做法。
  • 使用:Dns.GetHostAddresses

标签: c#


【解决方案1】:

你的问题实际上是两个问题。

先回答后一个问题:

更具体地说 - 有没有办法在 C# 中按其域检索网站 IP 地址

是的,对域执行 DNS 查找。

例如:

public static void DoGetHostEntry(string hostname)
{
    IPHostEntry host;

    host = Dns.GetHostEntry(hostname);

    Console.WriteLine("GetHostEntry({0}) returns:", hostname);

    foreach (IPAddress ip in host.AddressList)
    {
        Console.WriteLine("    {0}", ip);
    }
}

有关详细信息,请参阅 MSDN:http://msdn.microsoft.com/en-us/library/ms143998.aspx

你的第二个问题有点复杂:

我们希望通过检查输入电子邮件地址的电子邮件域是否存在来验证我们网站注册表单中的用户电子邮件地址。有没有办法在 C# 中做到这一点。

这取决于您所说的存在,@Jcl 的评论正确地指出,根据该域的 DNS 设置,它可能会更加细微。例如,一个域被注册并且没有其他记录是完全可能的,即使它什么也不做,它仍然存在。

【讨论】:

  • 以防万一有人偶然发现这一点,请注意“与域名完全相同名称的主机名可以解析为 IP 地址”与“存在域”不同。一个域可以注册,存在,有子域,有 MX 或其他类型的 DNS 记录,但不是没有任何子域的“域名”的特定 A 记录,在这种情况下,解析域名的主机名(没有任何子域)可能没有结果,这并不意味着该域不存在。
  • @Jcl 是的,你是对的,几年后再看,我似乎真的回答了后一个问题,而不是前一个问题。
  • 那是一个很棒的编辑。赞成:-)
猜你喜欢
  • 2021-03-08
  • 1970-01-01
  • 2012-01-25
  • 2018-08-13
  • 2016-12-06
  • 2013-11-21
  • 1970-01-01
相关资源
最近更新 更多