c# - C# 中来自 URL 的顶级域

标签 c# asp.net string dns tld

我为此使用 C# 和 ASP.NET。

我们在 IIS 6.0 服务器上收到很多“奇怪”的请求,我想按域记录和编目这些请求。

例如。我们收到一些像这样的奇怪请求:

后三个很明显,但我想将它们归为一类,因为“example.com”托管在我们的服务器上。其余的不是,抱歉:-)

所以我正在寻找一些关于如何从上面检索 example.com 的好主意。其次,我想将 m.、wap.、iphone 等匹配到一个组中,但这可能只是在移动快捷方式列表中快速查找。我可以先手动编写此列表。

但是这里的答案是正则表达式还是纯字符串操作是最简单的方法?我正在考虑用“。”“拆分” URL字符串。并查找 item[0] 和 item[1]...

有什么想法吗?

最佳答案

您可以使用以下 nuget Nager.PublicSuffix包裹。它使用与浏览器供应商相同的数据源。

nuget

PM> Install-Package Nager.PublicSuffix

示例

var domainParser = new DomainParser(new WebTldRuleProvider());

var domainInfo = domainParser.Parse("sub.test.co.uk");
//domainInfo.Domain = "test";
//domainInfo.Hostname = "sub.test.co.uk";
//domainInfo.RegistrableDomain = "test.co.uk";
//domainInfo.SubDomain = "sub";
//domainInfo.TLD = "co.uk";

关于c# - C# 中来自 URL 的顶级域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4643227/

相关文章:

c# - 如何使用 asp.net mvc 呈现从支付网关返回的 HTML 响应

python - Telnetlib、字节串和 "invalid escape sequence"

java - 字符串池在 Java 中为同一个字符串创建两个字符串对象

c# - MemberExpression 在不应该返回 null 的情况下强制返回 null

c# - 在 C# 中执行 WPF 元素验证?

c# - TextBox 变空时 UpdateSourceTrigger 不起作用

c# - 在不获取锁的情况下测试锁?

c# - 从函数调用按钮 OnClick

c# - 从 paypal 结帐返回后在 firefox 中丢失 session

string - 如何在 Swift 中从 NSData 初始化一个字符串