我想在C#中查找TXT记录 - 特别是我想从Unity3d中完成它(所以我认为基本上是单声道2.1,而不是完全成熟的.NET)。我不需要任何其他花哨的DNS东西,它是一个我不想太臃肿的应用程序,所以我最好寻找一些不需要一些大型库的东西。
我该怎么做?
答案 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 文件夹中:
(共 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