【发布时间】:2014-06-11 16:18:31
【问题描述】:
我想在 C# 中查找 TXT 记录 - 特别是我想从 Unity3d 中进行(所以我认为基本上是单声道 2.1,而不是成熟的 .NET)。我不需要任何其他花哨的 DNS 东西,而且它适用于我不想变得过于臃肿的应用程序,所以我最好寻找不需要大型库的东西。
我该怎么做?
【问题讨论】:
我想在 C# 中查找 TXT 记录 - 特别是我想从 Unity3d 中进行(所以我认为基本上是单声道 2.1,而不是成熟的 .NET)。我不需要任何其他花哨的 DNS 东西,而且它适用于我不想变得过于臃肿的应用程序,所以我最好寻找不需要大型库的东西。
我该怎么做?
【问题讨论】:
https://github.com/MichaCo/DnsClient.NET 使用这个 nuget 包。
附:我不隶属,但我们确实在我们的项目中使用它
【讨论】:
基于 DnsDig 项目,我创建了一个 DLL,可用于任何 .net(vb、c#、forms、web 等)项目
https://devselz.com/software/devselz_dnsdig_dns-txt-etc-query-domain-register.zip
下载、解压缩并添加为您的项目的参考(如果网站位于根/bin 文件夹:
(共 126KB)
然后将此示例用作 ASP.Ne 网站(vb.net 代码)
Imports DnsDig
Imports Heijden.DNS
Partial Class lib_u_l_Default
Inherits System.Web.UI.Page
Public Resolver As Resolver
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
Resolver = New Resolver
Dim SW As New System.Diagnostics.Stopwatch
SW.Start()
Dim DNSResponse As Heijden.DNS.Response = Resolver.Query(Request.QueryString("d"), QType.TXT, QClass.ANY)
SW.Stop()
If DNSResponse.header.ANCOUNT > 0 Then
For Each answerRR As AnswerRR In DNSResponse.Answers
Response.Write("<br/>" & answerRR.ToString)
Next
End If
End Sub
End Class
【讨论】:
即使在完整的 .Net 框架中也没有内置任何东西来获取 TXT 或任何其他 DNS 记录,除了实际的 DNS 解析。
DNS 类是唯一处理 DNS 的类,它只提供 IP 到名称和反向的映射。
您将需要直接查找库或构造请求。考虑检查现有示例,例如 DNS Resolver article on CodeProject 作为起点。
【讨论】: