c#:获取CNAME&来自域名的MX记录?

时间:2012-04-14 19:55:30

标签: c# dns cname

有谁能告诉我如何使用c#以编程方式从互联网域名(www.example.com)检索cname和mx记录?   根据我的简短研究,我理解通过使用UDP套接字探测到DNS服务器是可能的,但是,如果不知道DNS服务器地址,只有像“www.example.com”这样的域名,是否可以实现这一点?   我认为这是可能的,因为我一直在使用一些第三方免费工具包来成功获取MX记录,而不知道DNS服务器地址。

很多

2 个答案:

答案 0 :(得分:1)

我没有尝试过上面提到的库,但我会考虑使用服务而不是库。我不知道所需的用例是什么,但即使在asp.net Web应用程序,跨平台移动应用程序或移动网站上也可以提供此功能。

  1. 查找在线DNS工具(例如DNSWatch),它通过URL参数返回必要的域信息。
  2. 检查结果页面的HTML结构
  3. 您可以处理此HTML,但雅虎可以使用YQL html处理器为您执行脏工作并返回XML或JSON中的相关部分。

    1. 访问YQL Console
    2. 使用以下内容填写SQL语句textarea: select * from html其中url =“你的参数DNS URL”和   xpath ='XPATH QUERY在结果HTML'
    3. 中访问NS或MX记录
    4. 在控制台中测试您的YQL语句
    5. 开发单个客户端应用程序,该应用程序通过HTTP请求执行YQL语句。您可以从此YQL JavaScript tutorial
    6. 中获取提示

      优点: - 你的应用程序可以非常轻量级 缺点: - 可以更改结果页面的HTML结构,或者DNSWatch可以在过度使用资源后拒绝您的请求。

      然而,您可以在1小时内实施工作原型。

答案 1 :(得分:0)

.Net框架不支持直接支持它,但Platform SDK执行MSDN Entry for DnsQuery。您需要做的就是使用DllImport

导入它