获取DNS TXT记录

时间:2014-04-25 19:50:57

标签: c# dns mono unity3d

我想在C#中查找TXT记录 - 特别是我想从Unity3d中完成它(所以我认为基本上是单声道2.1,而不是完全成熟的.NET)。我不需要任何其他花哨的DNS东西,它是一个我不想太臃肿的应用程序,所以我最好寻找一些不需要一些大型库的东西。

我该怎么做?

2 个答案:

答案 0 :(得分:5)

即使在完整的.Net框架中也没有内置任何内容来获取TXT或除实际DNS解析之外的任何其他DNS记录。

DNS类是唯一一个处理DNS的类,它只提供IP到名称和反向的映射。

您需要直接查找库或构建请求。考虑将DNS Resolver article on CodeProject等现有样本作为起点。

答案 1 :(得分:0)

基于 DnsDig 项目,我创建了一个可用于任何 .net(vb、c#、表单、Web 等)项目的 DLL

https://devselz.com/software/devselz_dnsdig_dns-txt-etc-query-domain-register.zip

下载、解压并添加作为对您项目的引用(如果网站位于 root/bin 文件夹中:

DnsDig.dll

nunit.framework.dll

(共 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