我正试图将我的应用程序移植到.net核心。它目前使用ArSoft.Tools nuget包来查找mx记录,但该包与核心不兼容。如何在dot net core中查找mx记录?
在核心中查找mx记录的最佳方法是什么?
我正试图将我的应用程序移植到.net核心。它目前使用ArSoft.Tools nuget包来查找mx记录,但该包与核心不兼容。如何在dot net core中查找mx记录?
在核心中查找mx记录的最佳方法是什么?
我最终创建了自己的库来执行此操作,因为没有其他支持.net-core。
尝试DnsClient.NET https://github.com/MichaCo/DnsClient.NET。
相当简单:
var lookup = new LookupClient();
var result = await lookup.QueryAsync("google.com", QueryType.ANY);
var record = result.Answers.ARecords().FirstOrDefault();
var address = record?.Address;
如果你愿意,还可以显式地指定一个DNS服务器。
虽然对高级记录类型或DNSSEC的支持尚未完成。
另外,也许有一天.NET库也会支持这个功能。我正在编写一份API草案。但在那之前,您必须使用一些库或编写大量代码;)
Google提供了一个DNS-over-HTTP服务,它将自动处理DNSSEC并为您提供简单的JSON答案。这是使用HTTP请求查找DNS条目的简单方法。
UI:https://dns.google.com/query?name=google.com&type=MX&dnssec=true
API:https://dns.google.com/resolve?name=google.com&type=MX
{
"Status": 0,
"TC": false,
"RD": true,
"RA": true,
"AD": false,
"CD": false,
"Question": [
{
"name": "google.com.",
"type": 15
}
],
"Answer": [
{
"name": "google.com.",
"type": 15,
"TTL": 536,
"data": "10 aspmx.l.google.com."
},
// ...more repeated
]
}
谢谢,我会尝试一下,当我得到的时间,因为这将让我端口到.NET的核心。 – Guerrilla